Autoimport from module, not directly from file

I use pyright in django project with models structured like this:
appname:
  - models:
    -  __init__.py
    - book.py
    - author.py

__init__.py contains all imported models and __all__ = ... variable.
When using autoimport feature, it suggests importing from "appname.models.book", but i want it to use "appname.models".
When importing from django, for example: Count, it suggests two variants: from django.db.models and from django.db.models.aggregates, so i can select preferable variant. But not for my code.
Any suggestions? Is there something wrong with my code? Maybe that's a bug and it could be fixed?

looking at it.

I just let import alias from user file show up in add/auto import when indexing is off since we don't do import alias deduplication when indexing is off (indexing is always off for pyright)
when indexing is on, things will still work as it used to. we will investigate more to see whether the cost is worth the benefit.

This issue has been fixed in prerelease version 2023.3.41, which we've just released. You can find the changelog here: CHANGELOG.md

Are you sure it's fixed?
I switched Pylance to pre-release version, and it still does not allow me to import from shortest path.

Does this fix apply to pylance only, or it should work in pyright 1.1.301 also? (I mostly use pyright as langserver with neovim, pylance only for testing this bug).

@last-partizan as I wrote here, that behavior is only enabled when python.analysis.indexing: false. in pyright, it is always off.

please, remember with indexing off, all import alias in all user files will show up. in another words, if you have
# file1
def Book(): pass

# file2
from file1 import *

# file3
from file2 import *

# file4
from file3 import *

you will get auto import of Book from file1, file2, file3 and file4

Indexing is enabled, i'm using latest pre-release version of Pylance (v2023.3.41).
But still, autoimport and quickfix are suggesting using long import, instead of shortest one. You can try it yourself on my example mentioned above.

For django, for example, i can see the difference. In neovim, pyright is suggesting to import "HttpResponse" from django.http and django.http.request. But in vscode Pylance suggesting only django.http.
So, it doesn't work for user code, only for installed modules?

Oh, my bad. Somehow i was reading it as "only when on".
Yes, now it works as expected, thank you.

@last-partizan we got push back from people who didn't like the new behavior. so for now, we just reverted the change. we probably need more time to think about how to support it.

FWIW, I just spent a while trying to figure out how to get this to work as I expected (the new behavior), so I'm also on the pre-release and running with indexing off.
I'm also curious: why would this behavior only change for the case where indexing is turned off?
Suggestion: perhaps if there is push back on the behavior, maybe a setting along the lines of python.analysis.addImport.includePackagePaths could be added? Or alternatively, if there are multiple path sources, maybe an array of enums for those sources could allow customization both for what is included and what order they would show up in?

@BuckAMayzing sure, we can do that. but we will gather more user feedback before we try to address it again.
By the way, the previous fix we reverted was the cheapest fix we could do, any other ones, it could be expansive relatively since they all require some kind of deduplication of import symbols.

@heejaechang by the way, what sort of feedback you were receiving?
I cannot imagine why people would prefer to import symbols from files where they defined, instead of top-level module.
Or it was unrelated to this exact change and just broken something else?
This part of code is open, and in pyright? Can you point me at where exactly?

I think your assumption may be incorrect. I think that most of the time, people want to import symbols from the module where they are defined within the local project. Re-exporting symbols from other submodules is not typical within "app" code. It's more common in library code, and pyright already handles this case fine. So, I think what you're doing here is a bit atypical. I'm curious why you're importing and then re-exporting symbols within your own code base. Why not import them directly from the module where they are defined?
The way @heejaechang implemented your feature request initially caused the auto-import feature to suggest imports for symbols that were imported from libraries and then used in local files. For example, if you import from typing import TypeVar in a local file foo.py and then go to a second local file bar.py, you would not expect auto-import to suggest from bar import TypeVar. You'd expect this symbol to be imported from its original library (typing). This change made auto-import very dangerous to use for any symbol imported from a library because it started to suggest that such symbols be imported from local files instead. It destroyed the utility of auto-import. I know that's not what you intended with your feature request.

@last-partizan so, we already show import alias from third party as you showed in your example django, what we don't do is not doing so if it is from user files (the local project).
In local project, I believe people usually directly reference the symbol from the module it is defined in since otherwise (if it uses re-exported symbols), at runtime, all those files that re-exports symbols are needed to be brought into memory and processed. library having those are understandable to have better public API signatures, but for internal symbols used in implementation, I believe people usually reference them directly.
anyway, to improve the situation, we need to resolve all imported aliases (meaning bring in all related files into memory and parsed/bound transitively) used in user files, and process them (dedup, filter out and etc). and that is perf hit.
so, the feedback I am trying to gather is whether it is common enough for us to spend time to implement that deduplication and it is worth to take that perf hit on either start up (indexing), completion (auto import) or code action (add import)

@erictraut my use case - is with django models.
For simple cases it's fine to put all models in single models.py, but for large apps and large models it's better to have each model in it's separate file.
Reexporing them at module level (init.py), is enough for  Django to detect them, and importing from app.models rather than from app.models.file is lot cleaner.
@heejaechang maybe you can use __all__ variable for this purpose? That's exactly what is for - for marking publicly available members of the module/file, and django (and probably other libraries) doing this when reexporing.

importing from app.models rather than from app.models.file is lot cleaner

I don't think I understand what you mean by "cleaner". I admit that the import statement is shorter, but length isn't really an issue when auto-import does all of the work for you. I presume it's just a personal preference — i.e. what you're used to seeing in your code.

It may be presonal preference, but it has practical benefits:

when refactoring i can freely change file names, and change only single import instead of many through the app code
it's easier to read

when refactoring i can freely change file names, and change only single import instead of many through the app code

For what it's worth, when you rename files Pylance should automatically (or at least offer to) fix your imports.

@last-partizan let's see how many people wants this. If enough people want it, then we can revisit this. and we can think through more details at the time such as whether we need new option or not, whether it should be on by default or not, how much time it will add to indexing/completion/code action time, how many more files we need to parse/bind in avg and etc.

In my case, I'm developing multiple inter-dependent libraries in a monorepo. I want Pylance to only auto import from the top level of each library, but it doesn't work.

this is related to https://github.com/microsoft/pylance-release/issues/5434

This issue has been fixed in prerelease version 2024.9.102, which we've just released. You can find the changelog here: CHANGELOG.md


Dagster alerting

What are the relevant tickets?
#964
Description (What does it do?)
Adds a code location for monitoring all pipelines and notifying on Slack for failures
How can this be tested?
It will need to be validated once deployed to QA
Checklist:

[ ] The slack token needs to be generated and added to Vault before testing

It hasn't been pushed to QA yet. Once this merges it will go to QA and then I can try kicking off a failing pipeline to see how it works.


Add Javadoc header for Storage test classes

lgtm. Remember to add headers to public methods for the rest of the code later on. :)
Yep, it's still a WIP!

Codecov Report

Merging #298 (97e4f28) into master (67aae01) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #298   +/-   ##
=========================================
  Coverage     62.28%   62.28%
  Complexity      480      480
=========================================
  Files            88       88
  Lines          1710     1710
  Branches        194      194
=========================================
  Hits           1065     1065
  Misses          561      561
  Partials         84       84

Impacted Files
Coverage Δ

...main/java/seedu/trackermon/logic/LogicManager.java
54.54% <0.00%> (ø)

...ain/java/seedu/trackermon/logic/parser/Prefix.java
91.66% <0.00%> (ø)

...java/seedu/trackermon/logic/parser/ParserUtil.java
89.18% <0.00%> (ø)

...va/seedu/trackermon/logic/commands/AddCommand.java
100.00% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/EditCommand.java
94.11% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/ExitCommand.java
100.00% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/FindCommand.java
100.00% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/HelpCommand.java
100.00% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/ListCommand.java
100.00% <0.00%> (ø)

...a/seedu/trackermon/logic/commands/SortCommand.java
69.23% <0.00%> (ø)

... and 20 more

Continue to review full report at Codecov.

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


New Paper Adding CVPR 2020

Hi Xuanyi,
Thanks for making this awesome summary list!
Here is our new CVPR 2020 paper "Binarizing MobileNet via Evolution-based Searching"
Paper Link: https://arxiv.org/abs/2005.06305
Type is Evolution Algorithm.
Thanks!

Done, you are welcome!


:FZF terminal windows starts in normal mode instead of insert mode after using NERDTree

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[x] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

When I call :FZF after having used nerdtree with :NERDTreeToggle the fzf terminal window starts in normal mode and I have to press i to start searching. If I don't use nerdtree before fzf it works normally and fzf starts in insert mode. This only seems to happen in Neovim.
This is a minimal vimrc to reproduce:
set nocompatible
filetype off
set rtp+=~/.config/nvim/bundle/Vundle.vim/
call vundle#rc()

Plugin 'gmarik/vundle'
Plugin 'junegunn/fzf'
Plugin 'junegunn/fzf.vim'
Plugin 'scrooloose/nerdtree'

Any ideas?

Ok, this seems to have been solved after upgrading to neovim-0.4.0+ubuntu1+git201906092021 using the neovim ppa.
Hope this helps someone else with this issue.


Server directly pull data from hdfs/s3

Hi team,
Current controller design always requires people to push data from hdfs to controller NFS and then server can download data from controller. But actually if there is no firewall between server and hadoop/s3, then server should be able to pull segments from hdfs/s3 directly.
My thought is for pushing segment job, we can just upload a metadata json(combination of segment meta, creation meta, hdfs/s3 path, etc) for the segment instead of the whole segment.
For server side, server will check the data source and download the segment from either controller or hdfs or s3.

does this mean we will not allow posting payload along with the push call. What do you think about supporting both? Ability to send segment data or a url to download it from.

Should be push to controller always, just use different protocol in http header. One is real segment, another is metadata only.

We should do this .. only thing is that we will have to handle auth ... without punching in the the secrets in the config...


⚠ SkipTheCommericals has degraded performance

In 765f6bb, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 9993 ms

Resolved: SkipTheCommericals performance has improved in 4632c4d.


Default redirects to false

Change behavior from #23 such that redirects defaults to false and must be explicitly set to true to turn on link rewriting/redirect behavior.

Backing this change out in 1.3.0


Update ODBC driver to version <IP_ADDRESS>

It would be nice to have this update which fixes a few bugs available in choco.
No pressure intended, just a gentle reminder to the package maintainer @Roemer in case this PR escaped his attention.

Many thanks for your change, I merged it and pushed the package.


Updated remaining copyright headers in data-prepper

Signed-off-by: Asif Sohail Mohammed<EMAIL_ADDRESS>Description
Updated copyright headers in data-prepper
Issues Resolved
https://github.com/opensearch-project/data-prepper/issues/189
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #928 (e173e82) into main (3b31f27) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #928   +/-   ##
=========================================
  Coverage     92.21%   92.21%
  Complexity      660      660
=========================================
  Files            80       80
  Lines          1940     1940
  Branches        164      164
=========================================
  Hits           1789     1789
  Misses          110      110
  Partials         41       41

Impacted Files
Coverage Δ

...dataprepper/model/processor/AbstractProcessor.java
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


Set Device class for 'Volume' sensor

Did you read the instructions?

[X] I have read the README.

The request
First of all thank you for this integration, it works great.
One small suggestion I have:
By default the 'Heat Energy (E1)' and 'Volume' sensors are activated. The former can now be used in the Energy dashboard, but the 'Volume' sensor cannot be used, because the Device class is missing. I'd like to monitor the Volume as well in the dashboard through the 'Water consumption' dashboard, because I don't have a Cold water meter, so I might as well show this.
So my request: could you add the volume Device class to the Volume sensor?
The 'Heat energy to gas' section can probably also be removed from the Readme, as the energy dashboard now supports Gas sensors with GJ unit. Or the section and sensor can be kept but with a proper conversion: according to this blog the GJ should be multiplied by 32 to get the m3 gas equivalent. After searching a bit more I see that it's actually 31,6 according to this Dutch government website.

Thanks!
Additional information
No response

Hi @SirJohnDoe thanks for your message.

One small suggestion I have:
By default the 'Heat Energy (E1)' and 'Volume' sensors are activated. The former can now be used in the Energy dashboard, but the 'Volume' sensor cannot be used, because the Device class is missing. I'd like to monitor the Volume as well in the dashboard through the 'Water consumption' dashboard, because I don't have a Cold water meter, so I might as well show this.
So my request: could you add the volume Device class to the Volume sensor?

I'm not quite sure if the city heating volume should be considered as water usage.

The 'Heat energy to gas' section can probably also be removed from the Readme, as the energy dashboard now supports Gas sensors with GJ unit. Or the section and sensor can be kept but with a proper conversion: according to this blog the GJ should be multiplied by 32 to get the m3 gas equivalent. After searching a bit more I see that it's actually 31,6 according to this Dutch government website.

I'm on HA 2023.9.2 and I can't add the E1 sensor to the gas usage section, it can be added in the individual devices block, however, that doesn't provide a nice overview of the usage. The gas section has a much nicer graph.
It was a deliberate decision to have a 1:1 conversation for the E1 sensor to gas, even though this is not the right way to convert GJ to gas, it does provide an easy way to see your usage and compare that with your meter.

Hmm fair enough, not sure what exactly the water volume measures. If it's just water flowing through the system it's not that useful.
As for using the GJ sensor, Heat Energy (E1), I can select it in the latest HA. It was added last year: https://github.com/home-assistant/core/pull/80870


Any way to transcribe entire directory and output as srt/vtt?

This repo seems faster than all the one i used.
Is there are any way to transcribe entire directory and output as srt/vtt?
Thanks

its annoying but what I do is get transcribe-anything activated, go to the directory, run "dir /b > new.txt" (which makes a list of all that directories files WITH file extensions WITHOUT full directory and pops it in that folder (it includes the new.txt file in the list which is dumb but whatever), open that in notepad++, copy "transcribe-anything "" to clipboard (with the space and quote at the end), hit the "start recording" button, ctrl+v down home, stop recording, hit "run macro multiple times" and run that as many times as number of videos i have (minus one), then the same thing but paste "" --device insane --timestamp chunk --model large" at the end, so ctrl+v down end (also delete new.txt from the list), save, change to .bat file, "new.bat" at command line, wait for it to finish, open "ReNamer" (free program), load my transcribe-anything preset which 1. replaces current name of file to -> :File_FolderName: so your subtitles are named what the video file was, 2. delete from position one until cound 5 to remove the text_ prefix. 3. Adds a filter for incoming/drag-dropped files to only include *.vtt or *.srt files, drag all the text_etc files into renamer, hit "rename" go back to folder, search ".vtt" or ".srt", cut, paste into main folder. delete all the "text_" folders. Annoying for sure but honestly not that bad. If there's an easier way I'd love to know, I don't mind making the bat file but to just be able to pick a file type output that named the same as the video and in the same directory would be the ideal way for this to output.


IEEE Design & Test special issue on open-source silicon?

I noticed that you won the eFabless competition for an AI generated design. Would you be interested in submitting something to our special issue on Open Source silicon? We have been "requiring" measurements of real silicon, but we think these ideas are cool enough that they might warrant inclusion despite just being taped-out.
You can find details here:
https://ieee-ceda.org/document/special-issue-open-source-silicon
Please send me an email<EMAIL_ADDRESS>

Thank you for your invitation and recommendation! We submitted it just one week ago and we look forward to receiving your and other reviewers' comments and suggestions. This will be very helpful to us in improving the quality of our work. Thank you again!

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
1hirak, @debmore201, @penfever, @DioPires, @kaichen, @aryanxk02, @LeadersKing, @razvanmt, @tylerdmace, @adreamcometure, @tutu359, @lijiachang, @sunqiang-leo, @squeakerdev, @etikshajain, @willwooten, @coccoinomane, @victorholo, @mgom, @gaohongxiang

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
omaralqady, @fooock, @ygeezus, @whwp, @ccding, @cacosta88, @tricelex, @fly51fly, @dyxcrazy, @doublegrey, @punk9975, @Eveneko, @moebg, @Rapithwin, @xl9211, @BunsDev, @oursy, @oblique, @ukexim13, @Maximctrl


include 'app'\n is not a necessary string

For example in f8app it does not appear.
instead there is include ':app', ':react-native-linear-gradient'
Some other projects might do something like include ':react-native-send-intent', ':app'

Hey,
Please submit PRs against react-native repo where rnpm now lives. These are frozen.
Thank you!

Thanks


Duplicate commands check-host-alive, check_nrpe

On Ubuntu 12.04, the nagios-plugins* packages already include checks with these names:
% grep check-host-alive *
ping.cfg:# 'check-host-alive' command definition
ping.cfg:	command_name	check-host-alive
ping.cfg:# 'check-host-alive_4' command definition
ping.cfg:	command_name	check-host-alive_4
% grep check_nrpe *
check_nrpe.cfg:	command_name	check_nrpe
check_nrpe.cfg:	command_line	/usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
check_nrpe.cfg:	command_name	check_nrpe_1arg
check_nrpe.cfg:	command_line	/usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
This causes Nagios not to startup due to duplicate command definitions.

from version 7 you should be able to configure any type of configuration option. So this should be solved by now. On the other hand, if other packages drop configuration files into the nagios/conf.d directory that have other names than the current templates, then these are not cleared and could still collide with configuration settings.

The addition of the zap cookbook and cleaning out the conf dir should solve this problem I state here above.
I'm closing this because I think the problem is solved within the latest version. But please feel free to reopen or create a new ticket if needed.
Greetings Sander


[llama.cpp] AI answer does not stop automatically when inference is launched on Android phone

CPU-only reference on Xiaomi 14.
here is a screenshot to demonstrate this issue(the input question is: where is China's capital city?):

same issue here with following models on Xiaomi 14  (Xiaomi 14 is available since Oct 2023, Xiaomi 14 contains a very very very powerful mobile SoC ------ Qualcomm SM8650-AB Snapdragon 8 Gen 3 (4 nm) ------ and was used for personal device-side AI PoC development activity).

qwen1_5-1_8b-chat-q4_0.gguf  (https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat-GGUF/resolve/main/qwen1_5-1_8b-chat-q4_0.gguf  ,  1.1 GB)

llama-2-7b.Q4_K_M.gguf  (https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/resolve/main/llama-2-7b-chat.Q4_K_M.gguf,  4.08 GB)

blossom-v3-baichuan2-7b.Q4_K_M.gguf (https://huggingface.co/TheBloke/blossom-v3-baichuan2-7B-GGUF/resolve/main/blossom-v3-baichuan2-7b.Q4_K_M.gguf,  4.61 GB)

original similar issue report could be found at upstream llama.cpp:

https://github.com/ggerganov/llama.cpp/issues/5034

https://github.com/ggerganov/llama.cpp/issues/3969

a workaround method has been used for fix this issue.so close it accordingly.


Optimization: Add syntax check cache

This PR introduces a caching system for the syntax check. It's a big optimization for repeat builds (think watchify). I had proposed this first in https://github.com/substack/node-syntax-error/pull/9, but substack suggested that it was better implemented here.
I went with a per instance cache instead of a global cache (though it could very safely be one) because I don't want to set the precedent that it's ok for Browserify to be stateful.

@mattdesl Thanks for pointing this out!

LGTM.


fix(types): RequiredKeys should include Prop<T, D>

I have a factory function for props that uses Prop<T, D>, but when used in a component the props always include undefined even if D is set. Not entirely sure how to test this, but it works with https://github.com/vuetifyjs/vuetify/pull/12510 when replaced in node_modules.
Example code:
const makeProps = propsFactory({
  tag: String,
})

defineComponent({
  props: makeProps(),

  setup (props) {
    props.tag // string | undefined
  },
})

defineComponent({
  props: makeProps({ tag: 'a' }),

  setup (props) {
    props.tag // should be string, actually string | undefined
  },
})

Can you add a test case for that?

You can't actually do what I wrote in the test because Prop isn't exported, another way to test it is
type NoNullableFields<T> = { [P in keyof T]-?: NonNullable<T[P]> }

type Expected = { foo: boolean }
type Result = ExtractPropTypes<NoNullableFields<ComponentObjectPropsOptions<Expected>>>

expectAssignable<{ foo: boolean }, Result>(null as any)

Basically making it possible to convert between Props and ComponentObjectPropsOptions without losing any type information.

@KaelWD Hey, can you fix the conflict?

Done.

Props use the same problem as interface

export interface VueProps<T> {
  type: T;
  required: true;
}

const stringProp = {
  type: String,
  required: true,
} as VueProps<StringConstructor>;

This is correct

@KaelWD  if you use Prop type to default props instead of an object literal, then Vue cannot guarantee there is a default field then;
 const props: { foo: Prop<boolean> } = { foo: { type: Boolean } }

Not sure what you mean by that, Boolean props default to false

Not sure what you mean by that, Boolean props default to false

i mean if you use object literal to make ts infer the type, then vue will know that if you have  a default field in the PropOption.  use Prop type will loose the information, since default is optional


fix indentation causing build failures

What this PR does / why we need it:
Which issue (if any) this PR fixes:
Fixes #
Any other useful info:

did some digging on why build failures started happening and found that I messed up the indentation for the minidlna role.

I actually spotted this and fixed elsewhere :-)


Where to find test scenarios?

Hi, great work for integrating many RL-based policies into one system! I am working on with my own methods and want to make comparison with existing methods. I wonder where I can find the testing scenarios so I can do the comparison?
Many thanks!

Hi there, you can check out this function for how the test scenario is configured: https://github.com/vita-epfl/CrowdNav/blob/20d678085c06831e658a65b9e20c8bb6f6ecdc10/crowd_sim/envs/crowd_sim.py#L281


Python error on rollback

I get this error when the folder is not writable:
atomicwrites/__init__.py", line 124, in _open
    self.rollback(f)
UnboundLocalError: local variable 'f' referenced before assignment

Could you check with master?

@vdboor Any update on this?

0.1.9 is out.


tree-sitter-grammars: Add koka

Description of changes
A tree-sitter grammar for Koka. Koka is a strongly typed functional-style language with effect types and handlers.

Koka v2 is a research language that is currently under development and not ready for production use. Nevertheless, the language is stable and the compiler implements the full specification. The main things lacking at the moment are libraries, package management, and deep IDE integration.

Adding this grammar to nixpkgs will promote development of editor integrations for the language.

https://github.com/mtoohey31/tree-sitter-koka
https://koka-lang.github.io/koka/doc/index.html
https://github.com/koka-lang/koka/discussions/370

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 267000 run on x86_64-linux 1

2 packages built:

diffsitter
tree-sitter-grammars.tree-sitter-koka

I've marked this PR as a draft for updating the branch. I'll unmark it when it's ready.

Result of nixpkgs-review pr 267000 run on x86_64-linux 1

2 packages built:

diffsitter
tree-sitter-grammars.tree-sitter-koka

@mtoohey31 I've updated this PR, but I don't know when to undraft it (maybe wait for scoped branch?). Please ping me after your Koka parser is ready for a release.

Thanks @akirak, I've added the scoped change to main. There's just two final points I'm waiting for feedback on in the Helix PR, so I'll let you know once those are resolved.

This language has been integrated into helix (see https://github.com/helix-editor/helix/commit/2e4653ea312dcb69d2453eccaa7c0f873cce6aa5), so I think it is ready to get merged. Thank you for your patient work, @mtoohey31 and others!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3658

Thanks for paying attention to that PR! Sorry that I forgot to ping you even though I said I would :facepalm: There may be more updates once I get around to addressing https://github.com/mtoohey31/tree-sitter-koka/issues/2, but it's probably best to include that in a future PR, cause I'm not sure when I'll get around to it.
Would you mind bumping the revision of the grammar in the PR to the latest one on main? There have been a couple of fixes since the earlier rev that would be nice to include.

Would you mind bumping the revision of the grammar in the PR to the latest one on main?

Yes! I forgot that. Sorry for being dumb. I have updated the JSON to reflect your latest main branch.

@ofborg build tree-sitter-grammars.tree-sitter-koka

Thanks!


Launchpad > Update phases: impossible to update a phase

Impossible to update a phase. Tried updating number of NFTs / time / max mint of phase 4, all impossible.

@Albert-Tran pls check this case:

Input from FE, all same except name Phase 4 to ``Phase 4 EDIT

call FE got contract Revert as @phoebehoang85 upload above
tried with contract UI and get   "Custom": "cannot update phase"
err & input from contract UI as below image

I have checked this issue:
The phase has whitelisted an account so we can't update this phase. Could u please make sure this logic on frontend if the phase can't be updated, u need to disable or hide the edit button and show an alert on this phase ?
@langdon0003

Add check WL added for edit phase at commit d927d7241e7c5425951b727b31fdd1df94467e20

Re-test: can edit a phase successfully if there is no whitelist & phase has not started.
Re-test: cannot edit a phase once there is a whitelist.


Doesn't work in production mode with material-ui

Per #147, react-redux-form is still not working in production in conjunction with material-ui. Just wanted to open a new issue on this and leave it open until there's a resolution.
Any progress BTW? I'm on the latest version.

Are you manually adding TextField.displayName = 'TextField'? That's the current workaround.

Where would I do that? This is my code:
            <MUITextField model="insightModel.title">
              <TextField
                floatingLabelText="Title"
                errorText={getError(fields, 'title')}
              />
            </MUITextField>

Should I just do:
const MyTextField = TextField;
MyTextField.displayName = 'TextField';

Right, or you can actually do it directly on TextField itself, since it's setting a static property.

I'll give it a shot. Isn't the fix for this as simple as modifying this code:
    let controlDisplayName = control.constructor.displayName
      || control.type.displayName
      || control.type.name
      || control.type;

to be:
    let controlDisplayName = control.constructor.displayName
      || control.constructor.name
      || control.type.displayName
      || control.type.name
      || control.type;

Ah, I said I'd do that. Issuing a quick patch with that right now.

Ok just curious :) I'd be happy to do a PR as well.

Sorry.. getting a lot of pressure from higher up to get this into production. I know this is free/open source so I don't have any expectations (some people get really rude about it), and I'm happy to contribute a fix too. But I'd just need you to publish to npm since I don't have that ability.

I haven't yet figured out the best way for npm to pull from a GitHub fork yet, otherwise I would've done that.

I haven't yet figured out the best way for npm to pull from a GitHub fork yet, otherwise I would've done that.

I do that by publishing the fork to npm using a scoped package name.
https://discuss.reactjs.org/t/best-way-to-include-a-react-fork-in-my-project/313/2

@ffxsam I currently have this:
    let controlDisplayName = control.constructor.displayName
      || control.type.displayName
      || control.type.name
      || control.type
+      || control.constructor.name;

not sure if that was what you were expecting. Placing it as the second clause causes a lot of unit tests to fail, though.
By the way, you can definitely fork it and then just specify the dependency as the link to the git URL.

I've got a fork of this exact code change, lemme test it out in production and I'll let you know how it goes.

Man, it doesn't work. I don't get it. I'll have to settle for the TextField.displayName = 'TextField' workaround for now.

Yeah, those properties are probably just getting minified in production. V1 syntax will make this a lot easier:
import { Control } from 'react-redux-form';

// render()
// ... can be inside <Field> or not
<Control model="foo.bar" component={TextField} label="foo bar" />

Cool. I'll hang with the workaround till 1.0 then. Thanks for all your hard work!


feat(graphql-elasticsearch-transformer): support sets in es fn

convert sets to lists when sending payload to es
re #2860
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2986 into master will increase coverage by 1.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2986      +/-   ##
==========================================
+ Coverage   61.42%   62.59%   +1.16%
==========================================
  Files         223      222       -1
  Lines       11413    11200     -213
  Branches     2359     2342      -17
==========================================
  Hits         7011     7011
+ Misses       4086     3878     -208
+ Partials      316      311       -5

Impacted Files
Coverage Δ

...ges/amplify-graphql-types-generator/src/loading.ts
74.5% <0%> (ø)
:arrow_up:

...ages/amplify-appsync-simulator/src/server/index.ts

...c-simulator/src/schema/directives/aws-subscribe.ts

...s/amplify-appsync-simulator/src/type-definition.ts

...amplify-appsync-simulator/src/server/operations.ts

...plify-appsync-simulator/src/server/subscription.ts

...tor/src/velocity/util/transform/dynamodb-filter.ts

...psync-simulator/src/data-loader/dynamo-db/index.ts
0% <0%> (ø)

...lify-appsync-simulator/src/velocity/util/errors.ts
0% <0%> (ø)

...simulator/src/data-loader/dynamo-db/utils/index.ts
0% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


refactor: Delete k8s files from the project

Description of the changes
Remove k8s files from the project.
Checklist

[x] I didn't over-scope my PR
[x] My PR title matches the commit convention
[x] I did not include breaking changes
[x] I made my own code-review before requesting one

I included unit tests that cover my changes

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

I added/updated the documentation about my changes

[ ] 📜 README.md
[ ] 📕 docs/*.md
[ ] 📓 docs.lenra.io
[x] 🙅 no documentation needed

:tada: This PR is included in version 1.1.0-beta.5 :tada:
The release is available on:

GitHub release
v1.1.0-beta.5

Your semantic-release bot :package::rocket:


Remove AJV validation from client said to reduce loading time?

This validation only really needs to be done once on the authoring side.

Completed as part of the Svelte rewrite.


Estimate memory usage

We should be able to get something like idf.py size and not having to guess by readelf

You can use idf.py size in Rust std projects, see this comment for details: https://github.com/esp-rs/rust/issues/70#issuecomment-905638478


logo removal

In #7329, Tim simplify the attributions handling. I want to do the same for the logos.
My proposal is to completely remove the logo support and use the attributions system instead.
Before:
var source = new ol.source.XYZ({
  attributions: 'some attribution',
  logo: {
    src: "https://www.example.com/",
    href: "https://www.example.com/logo.png"
  }
});

After:
var source = new ol.source.XYZ({
  attributions: [
    '',
    'some attribution'
  ]
});

For the OpenLayers logo, I was thinking of adding a new attributions option to ol.control.Attribution to store "static" attributions (not related to a source, always displayed). Default to:
['']

or a simple link without image (like leaflet).
And to remove the OpenLayers attribution, an empty array could be passed.

An attributions option to ol.control.Attribution sounds good. But I think the base64 image for OpenLayers should not be in the library js code, but in the css. Which would mean a default like
['

']

This sounds great @fredj.  We use logo: false to avoid the logo right now.  If a new option is added to the attribution control, it would be nice if logo: false as a map option could be used to determine the appropriate configuration for the attribution control.

what if there're multiple layers visible and they have different attributions or logos?

what if there're multiple layers visible and they have different attributions or logos?

same as now: the attributions or logos will be displayed as a list by ol.control.Attribution

fixed with #7615


Bug 1896446: Add git configuration to the environment default

Adds capability to add git configuration values to the environment
default. This is one of the following:

The file or option specified by the GIT_CONFIG environment variable.
The repository-specific git configuration ($location/.git/config)

Document that AddLocalConfig and AddGlobalConfig can fail if the
GIT_CONFIG environment variable is set.

/assign @bparees
This is the root of why git clone is failing behind a proxy. Git doesn't know which file to write to because we have GIT_CONFIG set if user provides a source secret.

PR where this is used:
https://github.com/openshift/builder/pull/189

/lgtm

/cherry-pick release-4.6


"database is locked" when delete data

I meet a issue of delete operation with "database is locked".
This is waht I did:
var db
var tx

export async function connect() {
  if (db) {
    return db
  }

  db = await new Promise((resolve, reject) => {
    db = SQLite.openDatabase({ name: 'some.db' }, () => resolve(db), reject)
  })
  return db
}

export async function transaction() {
  if (tx) {
    return tx
  }

  let db = await connect()
  tx = await new Promise((resolve, reject) => {
    db.transaction(resolve, reject)
  })
  return tx
}

export async function execute(sql, params) {
  if (!sql) {
    return
  }

  tx = await transaction()
  return await new Promise((resolve, reject) => {
    tx.executeSql(sql, params, ($, results) => {
      tx = null
      resolve(results)
    }, (e) => {
      tx = null
      reject(e)
    })
  })
}

I delete data like:
await execute('DELETE FROM `my_table` WHERE some_key=?', [ key ])
await execute('DELETE FROM `my_table2` WHERE some_key=?', [ key ])

And then get the error:
{
  "code": 0,
  "message": "database is locked",
}

I am not sure whether my understanding of transaction is right, could anyone help?

It's my mistake, I open SQLite Browser to view the data, so the error is cased by open the db file in another application.


ID 40: Implement a Minimal View & Rocker Switch Bug Fix

Implemented / fixed following issues:
#147 #122
Story ID: 40

Finished final sprint


Refactor all stores that expose setters

Refactor all stores that expose setters as they shouldn't expose any to ensure data integrity and proper separation of concerns. For more details please refer the related Flux documentation:

Nothing outside the store has any insight into how it manages the data for its domain, helping to keep a clear separation of concerns. Stores have no direct setter methods like setAsRead(), but instead have only a single way of getting new data into their self-contained world — the callback they register with the dispatcher...

/source https://facebook.github.io/flux/docs/overview.html

Which store is exposing setters? Could you give an example?
Shouldn't be the case already actually...

@aldipower I'll rephrase the issues as they're not explicitly defining setters like set prop(val) or setProp(val) but exposing their data but storing data in a public property, which should be avoided due to the given reasons.


Scalar bar

For registration

@jack-parsons There exists a white box under the scalar bar - can that be removed?

Should I make the bar go right down to the bottom or make the bg colour match?


Add versioning capabilities

Description
This PR adds versioning capabilities for this project to help distinguish between different versions. Here's a story to help contextualize these changes: "As a person using SCulptQC I need to know what version of the software I'm using to help with package management and troubleshooting when necessary." Using poetry-dynamic-versioning helps ensure any installation of the package is described by a "dynamic version", one which takes into consideration semantic version git tags as well as commit hashes beyond a version tag.
I've added a tag for v0.0.1 to help indicate this initial version we're working towards. Later versions I feel might be best specified through GitHub Releases work in #6 . I also added a poetry-check to help avoid issues with the lockfile being out of alignment.
Thanks for any thoughts and feedback you may have!
Closes #5
What kind of change(s) are included?

[ ] Feature (adds or updates new capabilities)
[ ] Bug fix (fixes an issue).
[x] Enhancement (adds functionality).
[ ] Breaking change (these changes would cause existing functionality to not work as expected).

Checklist
Please ensure that all boxes are checked before indicating that this pull request is ready for review.

[x] I have read and followed the CONTRIBUTING.md guidelines.
[x] I have searched for existing content to ensure this is not a duplicate.
[x] I have performed a self-review of these additions (including spelling, grammar, and related).
[x] These changes pass all pre-commit checks.
[x] I have added comments to my code to help provide understanding
[ ] I have added a test which covers the code changes found within this PR
[x] I have deleted all non-relevant text in this pull request template.

Thanks @jenna-tomkinson !

I do have one question now that I think of it, is there a need to include a test for this? I see it isn't checked off in the original comment for the PR.

I like your test-driven thinking here! I'm inclined to say "yes" and created #9 as a result. I'm cautious to add a test yet for this now as things may change and versioning might be something tested alongside releases and deployments. I also think it may involve somewhat complex testing outside of pytest. The pseudocode for testing something like this could look like:

Checkout code from GitHub Actions job
Add arbitrary commit within the context of the GitHub Actions job checked-out code
Run poetry build
Examine the results of the build __init__.py file for an accurate version specification
Attempt to install the built package and observe the same version as previous step

Note: after this PR was merged I found the tag was dropped. I've manually applied this post-merge using the git CLI.


Secured Rest booster instructions should be runtime specific

Currently the instructions combine docs on various runtimes. It would be better for each to reflect just the specific runtime it deals with.

There is a common component as a section related to the specific runtime. Are you talking about the example output?

@starksm64 Maybe my assessment is wrong. Did you intentionally reference other runtimes on each -booster instruction to showcase the cross runtime interaction?

I am specifically talking about the Interact with the <runtime> Booster section. It contains parts that don't belong to the current <runtime>. I.e. in the swarm docs I see

Ok, your right. That was originally written thinking that the java client could be used to access more than one secured booster deployment, but I can see that this could be confusing.

I can see arguments for both approaches. At the end it's still a cross functional aspect that we demonstrate. But to support that we would need to make it more explicit how to retrieve and build the other runtime services.
Thinking of it this may actually complicate things quite a bit for the user, so my suggestion would to constrain the docs to a single runtime in use at a time.

Agreed, I'll change the interaction examples to be distinct for each runtime.

@starksm64 @heiko-braun PR has been merged. I'll take an editing pass on the secured booster guides. If this meets your needs, do either of you mind closing this issue?

i've checked and it looks good to me


remove LiveMetrics project

Azure.Monitor.OpenTelemetry.LiveMetrics package has been marked as deprecated on nuget.org. https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.LiveMetrics#versions-body-tab
This PR is to remove the project.
I'm leaving this in Draft while working with Scott Addie to resolve any prerequisites before deleting.

I got confirmation from Mario Guerra that we can proceed with this:
"For code that never made it out of beta, removing it from the repo is fine."


Have this as a rack application

Hi,
I want to have this as a rack application that I can mount inside my other rack application. One scenario will be to have handle websocket requests with this app and normal http requests with a grape based api.
Do you think is a good idea, shall I send you a pull request?

Hey guys, just found this. I'm curious, anyone of you used this in prod? how stable/mature is this?

I am using it in production to send messages between desktop and mobile apps, I had no issues with it after I figured out https://github.com/puma/puma/issues/589


Collision labels should match board labels

Any logic which is applied for formatting board labels should ideally be applied to the collision labels too.
This means that if move 197 is represented as B97 on the board (and not B197), the labels in the collision list should ideally be similarly truncated.

How is this different from https://github.com/Kashomon/gpub/issues/33?

#33 says that numbers that aren't stonified should be.
This issue says that when stonifying numbers, make sure they're formatted to be the same as the stone labels on the board. In other words, if 197 is represented as 97 on the board, then it should be 97 in the collision list and not 197.

I see, no let's keep them separate.

One possible exception to the 'same logic for all stone labels' rule (from outside the collision list) is the initial variation caption which says:
Variation x for y
It might be a good idea to never truncate y because duplicating, say, Variation x for 29 for moves 29, 129 and 229 could be more confusing than perspicacious overall. For the collision labels though, I think matching them to the board makes everything clearer to the reader, because you tend to look for the exact label listed when replaying a game with a ko.


Card set indicator on the front of the cards

I played a guy who was trying the expansion for the first time and he asked if there was a way to tell the set of a top card without mousing over.
I thought it was an interesting idea to have that as an overlay since mousing over doesn't really work on mobile that well.  Maybe it could be a game preference?  This will become more important as new sets are added.  Cities and Figures are obvious but the other three are difficult to tell apart.

I agree. This is almost a requirement for Echoes, I'd say.

Hmm given that we haven't really heard any complaints about this, I think it's safe to unmark this as release blocking (especially since we now have a feature to tells players whether their draw action will pick up an Echoes card).

It would be great if you could, at a glance, see all of your card backs (i.e., age and set info), just like you can when you look at your opponent's hand. Maybe a toggle near the hand that would switch between showing the fronts and showing the backs?

Watno says:
I added indicators on the front for yucata
I think Chris was looking into adding some in the new edition, but not sure if that's still planned


Add implementation of class related features to DG

Add the implementation of adding and deleting classes from TA Assist, as well as implementation of assigning and unassigning students from classes to the Developer Guide.

Codecov Report
Base: 59.73% // Head: 59.73% // No change to project coverage :thumbsup:

Coverage data is based on head (cd80ca7) compared to base (d026cd9).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #176   +/-   ##
=========================================
  Coverage     59.73%   59.73%
  Complexity      512      512
=========================================
  Files           102      102
  Lines          1865     1865
  Branches        206      206
=========================================
  Hits           1114     1114
  Misses          694      694
  Partials         57       57

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

PPP progress will be updated manually in #174


When using nested scroll views, make it possible for outer scroller to over scroll

Please read here first
This issue may seem long but please do not hesitate to read it since I put lots of effort into writing these and I am sure that there are a considerable amount of people who suffer the implementation difficulty of the combination of NestedScrollView - TabBarView - CustomScrollView.
This is probably related to prioritizing overscroll as dear @Piinks noted in the source file of NestedScrollView  :

Configure which scrollable receives overscroll
support stretching app bars. createOuterBallisticScrollActivity
need to be updated as it currently assumes the outer position
never overscroll,

Versions
Flutter 2.0.6 stable sound-nullsafe
extended_nested_scroll_view: ^3.0.0
waterfall_flow: ^3.0.1

Flutter Doctor (Click to expand)

[✓] Flutter (Channel unknown, 2.0.6, on Mac OS X 10.15.5 19F101 darwin-x64, locale tr-TR)
    • Flutter version 2.0.6 at /Users/yasinarik/fvm/versions/2.0.6
    • Framework revision 1d9032c7e1 (10 days ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/yasinarik/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Connected device (3 available)
    • iPhone 8 (mobile) • BC9D4992-201C-4A6D-B237-850E45ED7CBC • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)
    • macOS (desktop)   • macos                                • darwin-x64     • Mac OS X 10.15.5 19F101 darwin-x64
    • Chrome (web)      • chrome                               • web-javascript • Google Chrome 90.0.4430.85
    ! Error: My iPhone’u is not connected. Xcode will continue when My iPhone’u is connected. (code -13)

• No issues found!

The Problem
For the sake of simplicity, I want to start with the end result I want to have in my app. I want to build a scroll view that will have the same UI & UX as the well-known iOS Instagram Profile Screen.
Here is what I have already achieved as a feature list. Because the reproducible code is very long, complex in structure, and depends on 3rd party pub.dev packages, I can't write it so easily. I will try my best to provide a producible code.
Features of the Instagram Profile Screen UI, UX, Behavior  vs. Which of them I can achieve

✅ It has a nested scroll view.

✅ Inside the nested scroll view, it has a header section where you see the profile picture, stats, buttons, etc.

✅ Inside the nested scroll view, just below the header section it has a tab view.

✅ All the tabs have their respective inner custom scroll views.

✅ The tab view can be scrolled horizontally to switch tabs. Or the tab buttons can be pressed to switch tabs. Either way, the inner scrollers (or slivers to be more correct) do not rebuild from scratch which is a very good thing for performance.

✅ When scrolled vertically, the header section should leave the screen but the tab buttons should stick at the top.

✅ (For vertical scrolling) After the tab buttons stick at the top, the individual inner scrollers should scroll respecting the existing scroll ballistics, (momentum, friction, velocity, .etc)

✅ The scroll positions of the inner scrollers should be independent and they have to be stored as a part of the state. Shouldn't be affected by tab switching.

✅ This is not directly related to the bug but I wanted to write) Layout the inner scroller items as a grid. Use skeleton (or shimmer) wrapper for initial fetching. When scrolled to the very bottom of an inner scroller, show a loading indicator and load more items if available.

❌ For vertical scrolling, the nested scroll view does not behave as expected. The expected behavior is that for leading and trailing ends, over scrolling can be applied.

Before you say, none of the physics: AlwaysScrollableScrollPhysics() solve this issue. Believe me, I've tried everything even writing CustomScrollPhysics.
Even if the over-scrolling happens, it happens in the wrong place. It happens in between the tab buttons and the inner scroller. However, it should occur on top of the outer scroller. Because the use case of the NestedScrollView is that we want the whole scrollable area to act as one combined.
There is certainly something wrong with the NestedScrollView(original or from the 3rd party package, doesn't matter).

❌ Since the scroll physics work wrong, I have to use ClampingScrollPhysics(), no other choices. Thus, it is not possible for NestedScrollView to over scroll, bounce at the edge, etc. As a result, I can't implement the pull to refresh mechanism. This is the only missing part.

Image Explanation
Here are some sample images explaining the aimed result. Of course, these are not how the actual app looks like. I have removed lots of things in this NestedScrollView for simplicity and privacy but I am sure those are just enough to represent the wrong (or an unpreferred) behavior.
If you are an iOS Instagram user, please just go to a profile screen and just try scrolling, refreshing by yourself.

Bottom Overscroll Is Fıne (Trailing edge)
Top Overscroll Is Wrong (Leading edge)
How It Should Be

I have been fighting with this issue for more than a month. Please do help with a working solution. Inability to do something this simple (achievable in React) is really frustrating!

I created following stackoverflow issue
@yasinarik This seems similar. @TahaTesser maybe you can refer to this stackoverflow issue. It has code snippet and gif.

minimal code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  var _container = Container(
    height: 200,
    color: Colors.blue,
    margin: EdgeInsets.symmetric(vertical: 10),
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("ListView")),
      body: Padding(
        padding: const EdgeInsets.all(40.0),
        child: ListView(
          // parent ListView
          children: <Widget>[
            _container,
            _container,
            Container(
              height: 200, // give it a fixed height constraint
              color: Colors.teal,
              // child ListView
              child: ListView.builder(
                  itemBuilder: (_, i) => ListTile(title: Text("Item ${i}"))),
            ),
            _container,
            _container,
            _container,
          ],
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 2.3.0-13.0.pre.188, on Microsoft Windows [Version 10.0.19043.985], locale en-US)
    • Flutter version 2.3.0-13.0.pre.188 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a9d6131df8 (6 hours ago), 2021-05-26 23:06:38 -0700
    • Engine revision a832502eaf
    • Dart version 2.14.0 (build 2.14.0-153.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.6)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31313.79
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.2.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1.1
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (5 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64     • Microsoft Windows [Version 10.0.19043.985]
    • Windows (UWP) (desktop) • winuwp        • windows-uwp-x64 •
    • Chrome (web)            • chrome        • web-javascript  • Google Chrome 90.0.4430.212
    • Edge (web)              • edge          • web-javascript  • Microsoft Edge 90.0.818.66

• No issues found!

I am going to close this as a dupe of https://github.com/flutter/flutter/issues/54059 it looks like there is a working package for this now that is being discussed there, consolidating the issues will help folks keep up to date on the latest by keeping updates in one place.


Inconsistent/confusing behaviour when concatenating dimension coords

I noticed that with multiple conflicting dimension coords then concat can give pretty weird/counterintuitive results, at least compared to what the documentation suggests they should give:
# Create two datasets with conflicting coordinates
objs = [Dataset({'x': [0], 'y': [1]}), Dataset({'y': [0], 'x': [1]})]

[<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Coordinates:
   * x        (x) int64 0
   * y        (y) int64 1
 Data variables:
     *empty*,
<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Coordinates:
   * y        (y) int64 0
   * x        (x) int64 1
 Data variables:
     *empty*]

# Try to join along only 'x',
# coords='minimal' so concatenate "Only coordinates in which the dimension already appears"
concat(objs, dim='x', coords='minimal')

<xarray.Dataset>
Dimensions:  (x: 2, y: 2)
Coordinates:
  * y        (y) int64 0 1
  * x        (x) int64 0 1
Data variables:
    *empty*

# It's joined along x and y!

Based on my reading of the docstring for concat, I would have expected this to not attempt to concatenate y, because coords='minimal', and instead to throw an error because 'y' is a "non-concatenated variable" whose values are not the same across datasets.
Now let's try to get concat to broadcast 'y' across 'x':
# Try to join along only 'x' by setting coords='different'
concat(objs, dim='x', coords='different')

Now as "Data variables which are not equal (ignoring attributes) across all datasets are also concatenated" then I would have expected 'y' to be concatenated across 'x', i.e. to add the 'x' dimension to the 'y' coord, i.e:
<xarray.Dataset>
Dimensions:  (x: 2, y: 1)
Coordinates:
  * y        (y, x) int64 1 0
  * x        (x)    int64 0 1
Data variables:
    *empty*

But that's not what we get!:
<xarray.Dataset>
Dimensions:  (x: 2, y: 2)
Coordinates:
  * y        (y) int64 0 1
  * x        (x) int64 0 1
Data variables:
    *empty*

Same again but without dimension coords
If we create the same sort of objects but the variables are data vars not coords, then everything behaves exactly as expected:
objs2 = [Dataset({'a': ('x', [0]), 'b': ('y', [1])}), Dataset({'a': ('x', [1]), 'b': ('y', [0])})]

[<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Dimensions without coordinates: x, y
 Data variables:
     a        (x) int64 0
     b        (y) int64 1,
<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Dimensions without coordinates: x, y
 Data variables:
     a        (x) int64 1
     b        (y) int64 0]

concat(objs2, dim='x', data_vars='minimal')

ValueError: variable b not equal across datasets

concat(objs2, dim='x', data_vars='different')

<xarray.Dataset>
Dimensions:  (x: 2, y: 1)
Dimensions without coordinates: x, y
Data variables:
    a        (x) int64 0 1
    b        (x, y) int64 1 0

Also if you do the same again but with coordinates which are not dimension coords, i.e:
objs3 = [Dataset(coords={'a': ('x', [0]), 'b': ('y', [1])}), Dataset(coords={'a': ('x', [1]), 'b': ('y', [0])})]

[<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Coordinates:
     a        (x) int64 0
     b        (y) int64 1
 Dimensions without coordinates: x, y
 Data variables:
     *empty*,
<xarray.Dataset>
 Dimensions:  (x: 1, y: 1)
 Coordinates:
     a        (x) int64 1
     b        (y) int64 0
 Dimensions without coordinates: x, y
 Data variables:
     *empty*]

then this again gives the expected concatenation behaviour.
So this implies that the compatibility checks that are being done on the data vars are not being done on the coords, but only if they are dimension coordinates!
Either this is not the desired behaviour or the concat docstring needs to be a lot clearer. If we agree that this is not the desired behaviour then I will have a look inside concat to work out why it's happening.
EDIT: Presumably this has something to do with the ToDo in the code for concat: # TODO: support concatenating scalar coordinates even if the concatenated dimension already exists...

I'm not entirely sure what's going on here, but I suspect this has something to do with how we do automatic alignment inside concat:
https://github.com/pydata/xarray/blob/6dc8b60849fab48f24494859c15a42f078025be6/xarray/core/combine.py#L231-L232

It might be worth testing it this behavior goes away when you comment out that line.


Empty filter values for /developers

Describe the bug
When filtering on the /developers page, it also adds an empty object in the filter parameters because of a hidden field that is created by the collection_check_boxes method.
This is intended behavior for the feature based on the documentation found here:
https://apidock.com/rails/v6.0.0/ActionView/Helpers/FormOptionsHelper/collection_check_boxes.
Please read the end of the Gotcha section.
To Reproduce
Steps to reproduce the behavior:

Go to https://railsdevs.com/developers
Click on Role Type
Select various role types and Apply the filters.
Examine URL on page reload.

Expected behavior
The intended purpose of the include_hidden flag is to allow for a similarly formatted empty value in cases for model updates for ActiveRecord. Default value is true. Since the filters do not relate to an ActiveRecord model, this flag can be set to false to avoid the extra parameters.
Before URL:
https://railsdevs.com/developers?role_types[]=&role_types[]=part_time_contract&role_types[]=full_time_contract&role_types[]=full_time_employment&utc_offsets[]=
After URL:
https://railsdevs.com/developers?role_types[]=part_time_contract&role_types[]=full_time_contract&role_types[]=full_time_employment
Screenshots

@joemasilotti I have added a PR. Please review when you get a chance.


Ensure the generated pom.xml always contains dependency versions

Expected Behavior
Gradle should produce pom.xml files that are compatible with Maven.
Current Behavior (optional)
Gradle produces files that are silently ignored by Maven.
Frankly speaking, it sounds more like a Maven issue to me, however, Maven discards all transitive dependencies once it observes a single one without a version:
[WARNING] The POM for org.apache.jmeter:ApacheJMeter_http:jar:5.6.1 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.apache.jmeter:ApacheJMeter_http:5.6.1
[ERROR] 'dependencies.dependency.version' for com.google.auto.service:auto-service-annotations:jar is missing. @

I would prefer Gradle's generatePom... task to fail in case it is about to produce <dependency> without a version.
Note: XSD allows to omit <version>, so the requirement for version is somehow an internal Maven's requirement.
See https://repo1.maven.org/maven2/org/apache/jmeter/ApacheJMeter_http/5.6.1/ApacheJMeter_http-5.6.1.pom
<dependency>
  <groupId>com.google.auto.service</groupId>
  <artifactId>auto-service-annotations</artifactId>
  <scope>compile</scope>
</dependency>

The version tag is missing.
Here's a relevant validation in Maven: https://github.com/apache/maven/blob/9b12ccdeb0841ff7bceaae1b58bae8affe34cddd/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java#L165-L168
Context
See

https://github.com/apache/jmeter/issues/6041

Here's one of the cases that triggers missing <version> tags:

https://github.com/gradle/gradle/issues/25712

I've created an issue for Maven developers: Keep using transitive dependencies even if one of the declarations misses a version

Thank you for your interest in Gradle!
This feature request is in the backlog of the relevant team and is prioritized by them.

We're looking at a generic failure system for pom generation which should account for this issue and any other warnings related to pom.

It look like "pom can miss version if there's a corresponding dependencyManagement / scope=import bom".
So the title should probably be adjusted like "perform validation of the generated poms". However, in that regard it becomes a non-trivial task as validation of the poms would require gathering all of them, which would involve cross-project communication.
In that regard it might be a case for external plugin that would take a repository and verify it is coherent.
When I created a ticket I thought "a missing version means the pom is bad", however, now I realize the verification has to be much more complicated :-/


Add typescript typings

Add the typings like described here
declare module 'gps-time' {
    export function toGPSMS(unixMS: number): number;

    export function toUnixMS(gpsMS: number): number;
}

to support typescript usage.

Thanks for the idea, I'm totally open to this!  Will see if I can add it when I get a chance.


update WebConfiguration

Update WebConfiguration to allow trailing slashs in endpoint paths

This change is

Also a simple update of the guava version due to security reasons


Cpputest for Android

Disclaimer: I'm a complete newbie in the Android NDK scene.
I need to write C++ UTs for my Android native code which I can execute on both Windows and OSX via the command line. I would like to compile Cpputest for my requirements. Can anyone help me out with a few pointers on how to get started.
Thank you!

I think you can follow http://cpputest.github.io/ to get started


Legacy Support?

Does this support minecraft versions older then 1.7.10?

This library does not support legacy pinging. I might have plans to implement that in the future.

This library does not support legacy pinging. I might have plans to implement that in the future.

was this functionality ever added?


Add a pacifier to log loading process

From backlog item:255
It can take a while to load the logs for a lot of wells, so a pacifier would be useful to indicate the progress.
This would only need to increment as the logs for each well are loaded.

When loading several volumes, there is a slight delay, so I'm showing a 'wait' cursor. If importing 100's of volumes a 'progress bar' should probably be used. QUESTION:- Should this be a feature for this or the next revision.
ANSWER - a BusyCursor class has been implemented for the time being.


fix(driver): fixed build against linux 6.6.

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area driver-kmod
/area driver-bpf
/area driver-modern-bpf
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Fixes build against linux 6.6, reverting https://github.com/falcosecurity/libs/pull/1349.
The kernel changes that https://github.com/falcosecurity/libs/pull/1349 addressed were dropped at the rc3 kernel stage, and we do not need them anymore (https://www.phoronix.com/news/Linux-Revert-MG-Timestamps).
We are not at kernel rc6, therefore we expect the 6.6 release next week and no further breaking changes.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

fix(driver): fixed build against linux 6.6.

/milestone next-driver

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Worfklow that attempts the build of this branch HEAD against 6.6: https://github.com/falcosecurity/libs/actions/runs/6531983900/job/17734288714

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/hold

Head of branch tested: https://github.com/falcosecurity/libs/actions/runs/6532320274/job/17735265380
:green_circle:

/unhold

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,LucaGuerra]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Adding license and third-party program files to Modin.

Thanks @aregm, I'm reviewing our internal automation to make sure it's included on next release


Decrease size between boxes on home page, search and all relevant pages

Currently the size between boxes is very large. Please decrease the size. Compare to twitter for example.

[x] home page
[x] search pages
[x] other pages

Loklak

Twitter:

Please also cover

[ ] space below top bar
[ ] space above and below boxes (not just left and right)
[ ] also make all corner styles equal - round corner is different of different fields and center part is not round - all of them should have the same round corner including the top button "open map/timeline"
[ ] ensure left and right areas are aligned with top bar (just like twitter)


Invalid status(404 OK) on file requests on Android

I have a problem, when getting file content an Android. Plugin handles request and return response with incorrect status value (404 OK), when everything is OK. It's because available() method on inputStream returns 0

example path is /_app_content_/com.android.contacts/contacts/1/photo, it is got from cordova-contacts-plugin

Can you provide a sample app? I can't reproduce.

I have the same problem.
If I list directory contents, the files appears to be there.
Then when I try to load my file in an image using Ionic.WebView.convertFileSrc and load it, I get a 404 (OK), however, the file exists
Ionic.WebView.convertFileSrc("file:///android_asset/www/contents/file-references/29e35425-eb41-4b19-b09e-ad7f2c18336c")

This resolves to
"http://localhost/_app_file_/android_asset/www/contents/file-references/29e35425-eb41-4b19-b09e-ad7f2c18336c"

If I load it in an image, I get a 404 (OK)

It seems it can't read from cordova.file.applicationDirectory, Anywhere else it works as expected

I have the same issue on android as well:
When doing the following (can be done in the debug browser console):
let path = cordova.file.applicationDirectory + "www/" + relativePath;
path = window.Ionic.WebView.convertFileSrc(path);
fetch(path)

getting error 404.
I was able to retrieve the file when using "http://localhost/" + relativePath which is weird and a terrible workaround...
Any updates on this?

I fought hours with exactly the same issue to finally figure out that paths are case sensitives for the Webview in Android !
For me , "http://localhost/_app_file_/data/user/0/aaa.aaa.aaa/cache/thumbnails/1.jpg" was not working on Android as the real path was "http://localhost/_app_file_/data/user/0/aaa.aaa.aaa/cache/Thumbnails/1.jpg"...
So finally it seems that webview.convertFileSrc( path ) works perfectly for any location inside cordova.file.applicationStorageDirectory.
Hope it will help !

You don't really need to use convertFileSrc for applicationDirectory files as they are relative.
So file:///android_asset/www/contents/file-references/29e35425-eb41-4b19-b09e-ad7f2c18336c should be contents/file-references/29e35425-eb41-4b19-b09e-ad7f2c18336c.
But maybe we can check if android_asset/www is present in the path to convert and avoid it.
But this looks like a different problem from the OP, so can any of you having problems with applicationDirectory create a new issue?

Thanks. I eventually solved it like you mentioned. In addition to this, I was forced to also pass the file extension so that it can detect the myme-type. Hope this will help someone

I have created a new issue as was requested by @jcesarmobile: #397
I can't use relative path as it won't work on iOS - so currently there's no way to use the same code in iOS and Android, which is the main use case as far as I understand for convertFileSrc. As I said, I have a working workaround, but I would prefer a proper fix...

@HarelM Why don't you abstract the code in a plugin (I'm doing this), or a service within the app?
Of course... a proper fix is always welcome

@alexandruluca I did, just wanted to make sure this is a know issue here so it can be tracked and fixed :-)
https://github.com/IsraelHikingMap/Site/blob/78ed95e72f3691aa22acabb726e7e5a7ebac20cd/IsraelHiking.Web/sources/application/services/file.service.ts#L77

Same problem here.
"http://localhost/" + relativePath works as long as I don't use the live reload feature. (Because it uses port 8100?).
Hope this gets fixed soon as it is easy to reproduce.

still not fixed?

<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application"> 		<application android:requestLegacyExternalStorage="true"> </edit-config>

I had a similar problem with the cordova media plugin, the issue started when I needed to update the target and compile verseion of the app from api 31 to api 33
it seems cordovas fileHelper.java was the main problem
This is how it was by default:
/*
       Licensed to the Apache Software Foundation (ASF) under one
       or more contributor license agreements.  See the NOTICE file
       distributed with this work for additional information
       regarding copyright ownership.  The ASF licenses this file
       to you under the Apache License, Version 2.0 (the
       "License"); you may not use this file except in compliance
       with the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing,
       software distributed under the License is distributed on an
       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       KIND, either express or implied.  See the License for the
       specific language governing permissions and limitations
       under the License.
 */
package org.apache.cordova.media;

import android.net.Uri;

public class FileHelper {

    /**
     * Removes the "file://" prefix from the given URI string, if applicable.
     * If the given URI string doesn't have a "file://" prefix, it is returned unchanged.
     *
     * @param uriString the URI string to operate on
     * @return a path without the "file://" prefix
     */
    public static String stripFileProtocol(String uriString) {
        if (uriString.startsWith("file://")) {
            return Uri.parse(uriString).getPath();
        }
        return uriString;
    }
}

to allow it to handle the new localhost string I did this :
/*
       Licensed to the Apache Software Foundation (ASF) under one
       or more contributor license agreements.  See the NOTICE file
       distributed with this work for additional information
       regarding copyright ownership.  The ASF licenses this file
       to you under the Apache License, Version 2.0 (the
       "License"); you may not use this file except in compliance
       with the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing,
       software distributed under the License is distributed on an
       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       KIND, either express or implied.  See the License for the
       specific language governing permissions and limitations
       under the License.
 */
package org.apache.cordova.media;

import android.net.Uri;

public class FileHelper {

    /**
     * Removes the "file://" and if applicable the "http://localhost/" prefix from the given URI string,
     * if applicable. If the given URI string doesn't have these prefixes,
     * it is returned unchanged.
     *
     * @param uriString the URI string to operate on
     * @return a path without the mentioned prefixes
     */
    public static String stripFileProtocol(String uriString) {
        if (uriString.startsWith("file://")) {
            return Uri.parse(uriString).getPath();
        } else if (uriString.startsWith("http://localhost/")) {
             uriString = uriString.replace("http://localhost/", "");
            return Uri.parse(uriString).getPath();
        }
        return uriString;
    }
}

Basically made a check that for localhost as well as file:///  and the Uri.parse the string
I hope this helps this problem drove me crazy!


Minor wording changes and corrections

Fixes #15067
Suggestions only :)

Thanks for the feedback - this has been a good learning process.


remove tokenstream vec alloc

Codecov Report

Merging #1611 (2efebdb) into main (5f565e7) will increase coverage by 0.02%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main    #1611      +/-   ##
==========================================
+ Coverage   93.78%   93.81%   +0.02%
==========================================
  Files         252      252
  Lines       46380    46414      +34
==========================================
+ Hits        43499    43541      +42
+ Misses       2881     2873       -8

Impacted Files
Coverage Δ

src/indexer/segment_writer.rs
96.73% <60.00%> (+0.32%)
:arrow_up:

src/fastfield/multivalued/mod.rs
98.45% <0.00%> (-0.78%)
:arrow_down:

src/directory/mmap_directory.rs
90.40% <0.00%> (+0.53%)
:arrow_up:

src/reader/mod.rs
94.26% <0.00%> (+0.63%)
:arrow_up:

src/directory/error.rs
3.27% <0.00%> (+1.63%)
:arrow_up:

src/schema/document.rs
94.77% <0.00%> (+1.96%)
:arrow_up:

src/schema/value.rs
67.39% <0.00%> (+5.86%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Html issue 3

Pull Request Type
What kind of change does this PR introduce?
[X] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?

footer.html missing a footer section.
unused nav style in the styles section of navigation.html
Issue Number: [Insert Issue Number (if applicable)]
What is the new behavior?
Created a footer in footer.html with the text "Copyright © 2023 Fork, Commit, Merge"
deleted an unused nav style in navigation.html

Other information

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


Suggestion: Syntax for constructor signature

This is a valid signature:
    subscribe<T>(event: { new(...any): T; }, callback: (message: T) => void): void;
                        ^^^^^^^^^^^^^^^^^^^

I would like to suggest to support typeof T to be equivalent of { new(...any): T; } above.
    subscribe<T>(event: typeof T, callback: (message: T) => void): void;
                        ^^^^^^^^

which in my opinion is much more expressive. Notice that if we used typeof SomeClass compiler would accept it. So why not also accept typeof T?
Here's an example:
declare class EventAggregator
{
    subscribe<T>(event: typeof T, callback: (message: T) => void): void;
//  subscribe<T>(event: { new(...any): T; }, callback: (message: T) => void): void;
    publish<T>(event: T): void;
}

// class with zero argument constructor
class SomeMessage {
    constructor() {}
    data: string;
}

// class with argument constructor
class SomeMessage2 {
    constructor(public data: string) {}
}

var ea = new EventAggregator();
// CASE 1: okay - no error
ea.subscribe(SomeMessage, message => {
    console.log(message.data);
});

// CASE 2: okay - no error
ea.subscribe(SomeMessage2, message => {
    console.log(message.data);
});

// CASE 3: errors out - good, that is expected. I want the method to
// take only classes (types) and not instances of classes
ea.subscribe(new SomeMessage(), message => {
    console.log(message.data);
});

ea.publish(new SomeMessage());

Workarounds that don't work really
Using generic type of T extends Function or Function instead of T breaks type inference of T
subscribe<T extends Function>(event: T, callback: (message: T) => void): void;
	      ^^^^^^^^^^^^^^^^^^

subscribe<T>(event: Function, callback: (message: T) => void): void;
	                ^^^^^^^^

What about constructors that have a defined argument signature?

@kitsonk in that case you can use exact constructor signature like { new(a: string, b: string): T }.

Then that would seem "auto-magic" to me and surprising... "if you have this one signature you can use this one keyword in these scenarios, but if you have anything else..."

The typeof operator in a type position is used to obtain the type of a variable. I think it would be really odd for it to also be notation for a constructor function type. Plus it would be a breaking change:
var x: number;
function foo<x>(b: typeof x) { }

I would suggest defining a generic type that represents a constructor:
interface Constructor<T> {
    new (...args: any[]): T;
}

declare class EventAggregator
{
    subscribe<T>(event: Constructor<T>, callback: (message: T) => void): void;
    publish<T>(event: Constructor<T>): void;
}

@kitsonk that was the point of my suggestion, to define type of constructor with arbitrary arguments.
@ahejlsberg the Constructor interface you suggested is exactly what I needed. Thank you! I noticed I had suggested this before in issue #204 but didn't come up with a solution I liked.
However, I wonder what typeof ClassX means below? Isn't it denoting the constructor type of ClassX? If the compiler is accepting typeof ClassX then why it's not complaining on foo(ClassY)?
class ClassX {}
class ClassY {}
function foo<x>(b: typeof ClassX) { }
foo(ClassX);
foo(ClassY);

However, I wonder what typeof ClassX means below? Isn't it denoting the constructor type of ClassX? If the compiler is accepting typeof ClassX then why it's not complaining on foo(ClassY)?

You have no members in ClassX and ClassY so they are structurally equivalent. Add a member to each and you'll get an error:
class ClassX { x; }
class ClassY { y; }
function foo<x>(b: typeof ClassX) { }
foo(ClassX);
foo(ClassY);  // Error

OK, that makes sense. Now what makes typeof ClassX valid below but not typeof T?
class ClassX { x; }
class ClassY { y; }
function foo(b: typeof ClassX, c: ClassX) { }
foo(ClassX, new ClassX);
function bar<T>(b: typeof T, c: T) { }
bar(ClassY, new ClassY);

typeof ClassX is valid because ClassX denotes a named value (i.e. the constructor function). It also denotes a type, but that's irrelevant here.
typeof T is an error because T doesn't denote a named value.

An easy rule of thumb is: When typeof is used in a type position, the argument must be a valid expression and the operator obtains the type of that expression.


Keep map feature "track" on map

We need an extra option (e.g. dropdown box) that appears when activating the track feature for keeping the track on the map.
Choice:

Track is shown for the current task (this means: even if "track" is also activated in the next task, in this next task, only the track of this task - and not of the previous one - is displayed)
also during the next task
for the whole game

I changed flags of previous tasks to yellow. Let me know if you prefer another color.
@JaninaBistron

👍


[BUG] Julia REPL crashes when Julia Path contains environment variables.

Details

Atom version: 1.41.0
Julia version: 1.3.0
OS: Windows 10 Pro
Package versions:

Atom.jl: 0.11.3
julia-client: 0.11.3
ink: 0.11.7

Steps to reproduce

Use environment variable in a Julia path in settings of julia-client, e.g. %HOMEPATH%\AppData\Local\Julia-1.3.0\bin\julia.exe

Julia REPL crashes, showing:

Press Enter to start Julia.
Start-Process : This command cannot be run due to the error: The system cannot find the file
specified.
At C:\Users\Azathoth\.atom\packages\julia-client\script\spawnInterruptible.ps1:8 char:9
+ $proc = Start-Process "`"$jlpath`"" $jlargs -NoNewWindow -PassThru
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcess
   Command

I want to use env vars here, because I use sync-settings to synchronize settings between two PCs which have Julia installed in different directories, but same directory relatively to the %HOMEPATH% variable.

Just use ~ instead of %HOMEPATH% (which looks up USERPROFILE). I don't think supporting arbitrary env variables makes any sense here.

And does the ~ work on windows? Because usually windows does not support ~ for home directory.

It does, yes. We're internally resolving that to %USERPROFILE%.


chore(detectors/node): adapted breaking change in<EMAIL_ADDRESS>

Refs https://github.com/open-telemetry/opentelemetry-js-contrib/pull/1459#issuecomment-1498805145
I do no have write permissions for renovate-bot:renovate/otel-core-experimental.
Feel free to close this PR and cherry-pick the commit.
The README files for all detectors needs to be updated too. Let me know if you want me to update them too.

An alternative would be that you cherry pick the commit from renovate and add you fix on top of it.
But this variant is also fine. Once merged renovate will rebase on top of your fix and CI is hopefully green then.

@kirrg001 It seems you didn't allow edits from maintainers on this branch - or it's an org fork where github doesn't allow this (see here).
So seems the burden to merge main is on you.

or it's an org fork where github doesn't allow this

Yes it is an organization. This is not supported.
I rebased against main. Rdy to merge

At least in the past it was possible to allow it per PR, see here.
In general I recommend a personal fork but I know that companies often don't allow this.


some mildly-opinionated scripts changes

This PR has a few quality of life improvements as well as some opinionated changes to the scripts and template. If any of the changes seem inappropriate or out of scope, just point them out and I'll be happy to revert them. I could break this out into multiple PRs for each change but that just seems like extra work 🥴

added ndkpath template tag. ndkpath.txt is still gitignored, but the file with template tag is present in this commit (so it should be present in cloned repo, but won't be re-committed in mods made using the template). Also not 100% sure if this is a good idea because if path is added using backslashes, it might break the json
removed version number from built .so file. I'm not 100% on what current best practices are in the community but this seems to be a growing trend
build scripts slightly modularized by calling build.ps1 instead of duplicating call to ndk
build scripts post-make commands wrapped in guard, so they'll only run if make succeeds
copy.ps1 added command to restart beatsaber after force quit is sent
copy.ps1 added --log arg to watch logcat after restarting beatsaber, with a kinda tightly scoped filter

All looks good. Thanks for this.