Add PlexPy to the list of applications

Hi there!
I'm adding PlexPy to the list of applications for dockerfiles. PlexPy is a Python based monitoring and tracking tool for Plex Media Server. Its a nice addition to monitoring your Plex server when you share it with lots of people.

Hi there!
Wondering if you ever saw this?

so sorry i will test this sometime this week!
On Wed, Mar 30, 2016 at 4:59 PM, Cris<EMAIL_ADDRESS>wrote:

Hi there!
Wondering if you ever saw this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/pull/112#issuecomment-203690089

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

hi so sorry this is super cool you think there is a way to do it with alpine, also again sorry for the delay

@jfrazelle Not sure what happened but I deleted my fork it seems. I created a new PR with alpine as the base. https://github.com/jfrazelle/dockerfiles/pull/147

CLOSED for https://github.com/jfrazelle/dockerfiles/pull/147


3538 l treat university locations as an area rather than a single point in api

Context
based upon #1356
Changes proposed in this pull request
Added a boosted_distance column where by it is used as for the ordering
This is to improve university course ranking via distance searches
Added provider type to serializer
Guidance to review
Best to review commit by commit
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 [L] Treat University locations as an area rather than a single point in API

@defong Are you able to deploy this branch to the research environment so I can see how the rankings behave?

@defong Are you able to deploy this branch to the research environment so I can see how the rankings behave?

@fofr It should be all there now

Added do not merge label until Find teacher training as it needs to accommodate the changes

http://localhost:3002/results?fulltime=false&hasvacancies=true&l=1&lat=52.62640949999999&lng=1.2796911&loc=Norwich+NR2%2C+UK&lq=Norwich+NR2%2C+UK&parttime=false&qualifications[]=QtsOnly&qualifications[]=PgdePgceWithQts&qualifications[]=Other&rad=50&senCourses=false&sortby=2&subjects[]=31
vs https://www.find-postgraduate-teacher-training.service.gov.uk/results?fulltime=false&hasvacancies=true&l=1&lat=52.62640949999999&lng=1.2796911&loc=Norwich+NR2%2C+UK&lq=Norwich+NR2%2C+UK&parttime=false&qualifications[]=QtsOnly&qualifications[]=PgdePgceWithQts&qualifications[]=Other&rad=50&senCourses=false&sortby=2&subjects[]=31

Good to go solo or duel


[README] add Github Actions Status Badge

In association with: https://github.com/alan2207/bulletproof-react/pull/19

Personally, I think it's useful to be able to immediately check the Green or RED of the CI.
Thank you!

Awesome, thanks! :)


[TODO] Create actual categories for the Library

CodeBooker will have official categories.
These will be:

Web Development

HTML, CSS, JavaScript, etc.
Web Design

Languages

Python, C, C++, Assembly, C#, JavaScript, Perl, PHP, Typescript, etc.

Frameworks & Libraries

React, Angular, Vue, Next, Nuxt, etc.
Microsoft, i.e, .NET, Azure

Agile/QA/Testing

Add these Categories to the SideNav menu and the table.

@gbowne1 as for your question in https://github.com/gbowne1/codebooker/pull/25:
This is why I added the prop "expandable" on the new sub component. We can treat the main categories as expandable (see the Category button for reference).
However, I would add a "name" prop to MenuButton and change this:
expandable && expandItem(label);
for this:
expandable && expandItem(name);
If you prefer, you can assign this one to me also.

Proceed however you like.  I (or you) can create a new issue and assign you to that.  I don't really see the need for that since that would just be work expanding on this particular PR. Either way works for me.
Expandable categories will be good since programming categories and subequent sub-categories are a bit vast in nature.


Feature 0.2 arch

Fixes ISSUE#45 step 1 (#47) and step 2 (#57).
Added more deployment reference (#37), more to come.
Changes:

Added storage clean up API.

Added deployment docs and conf files.

Updated conf files.

Re-generated grpc python files due to change of protos.

Changed processor schedule policy and max processor counts.

OK

merged.


Fix Travis test failures.

Several pull requests have Travis test failures, due to a syntax error:
const escapeStringRegexp = require('escape-string-regexp');
^^^^^
SyntaxError: Use of const in strict mode.

I found a solution at this StackOverflow answer - https://stackoverflow.com/questions/22603078/syntaxerror-use-of-const-in-strict-mode
This PR updates the version of NodeJS being used by Travis.
The change in the chalk module which caused it was https://github.com/chalk/chalk/commit/249b9ac7e75077de5fc9d8063df35918745e8471

Well at least these are different failures. The chalk.js syntax error is fixed.
Now it finished the "test" Gulp task, then stalls.  It does this when running locally too, I don't know what the problem is here.

I've gotten it to work, but I'm unsure how to contribute to this PR. I created a new one in #111

@borisson Cool, you fixed it.  Let's close this pull request in favour of yours.


bjorn/csi interface

Related to CNX-835
CSiObject common for both ETABS and SAP 2000
cPointObj, cFrameObj, cAreaObj, etc. are all independent objects
They don't have a native parent-child hierarchy like Tekla or Revit. Relationships (like Points being part of a Frame) exist but these aren't parent-child relationships. No need for elements.

Discussed with @AlanRynne this morning, let's not merge just yet.


Multi tenancy functionality

This contribution fixes a requirement for one of our projects to have the ability to assign users different roles and permissions, depending on the current 'tenant' they are logged in as.
This PR adds functionality to the main Ladder static, allowing for global scoping which can quickly and easily be utilised for providers / middleware etc by calling Ladder\Ladder::setTenant('the_tenant')
Or localised scoping by calling $user->forTenant('tenant_name')->hasPermission('read').
It achieves this by adding a tenant column to the database which can be a string, or integer, keeping it fairly open.
The change is non breaking for existing installations and provides a pretty major enhancement and makes it more versatile.
In addition I've created a simple helper method called assignRole that'll allow a user to quickly and easily programatically assign roles. E.g. $user->assignRole('admin').

Hey @eneadm , just double checking you've seen this one? Thanks!

@chrispage1 Yep, I just was way too busy these days. I looks interesting but multi tenancy is not something I would like to add to the package for the moment. However what would be nice to have in the future is a Teams feature kinda similar to:

https://jetstream.laravel.com/features/teams.html
https://spatie.be/docs/laravel-permission/v6/basic-usage/teams-permissions
https://github.com/mpociot/teamwork

Teams cover the multi tenancy case but also other use-cases in one solution. I am currently working on this feature but it might be a while until I release it, also I don't want to enforce it on newcomers or existing users using this package.
Thank you very much for creating the PR though since any help will not go wasted and will definitely help me progress with the new feature.


Create tests for ride-hailing/MessageParams using jest.

first-timers-only
This issue is tagged :octocat: first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.
Consider this your chance to dip your toe into the world of open-source, and get some bragging rights for writing code that makes drones fly, lets cars find charging stations, helps people and goods get from place to place, and more.
Find more first-timers-only issues from DAV Foundation here.
Thank you for your help :heart:
What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
As an organization that believes in building a large community of open-source contributors, we often create issues like this one to help people take their first few steps into the world of open source.
dav-js
This SDK enabled integrating any client side JS and NodeJS code with the DAV Network.
How you can help
The Issue
Create tests for ride-hailing/MessageParams using jest.
You need to create tests to check that the serialize and deserialize methods work as expected.
Please use the test file for class NeedParams as a basis for your new code.

Function serialize in class MessageParams must return a JSON object that contains all properties defined in the MessageParams instance.

Function deserialize in class MessageParams receives a JSON string and must initialize all the properties of the MessageParams instance with the values in the JSON string.

messageParams1.desrialize(messageParams2.serialize()) == messageParams2 must therefore always be true.
NOTE: Some names are changed between protocol string representation of instance properties:

location is internally represented as { lat , lon } but serialized as { latitude , longitude }
Private properties are internally prefixed with _ but serialized without the prefix. i.e. _protocol becomes protocol

Contributing to dav-js

[ ] Make sure this issue is labeled up-for-grabs and not labeled claimed, to verify no one else is working on it.
[ ] Comment in this issue that you would like to do it.
[ ] Open dav-js GitHub page and click the ★ Star and then ⑂ Fork buttons.
[ ] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/dav-js.git
[ ] Code Code Code
[ ] Once you've made sure all your changes work correctly and committed all your changes, push your local changes back to github with $ git push -u origin master
[ ] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/dav-js) and create a pull request for your changes.
[ ] Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this: #7)
[ ] Please do not fix more than one issue at a time. Your pull request should only fix what is described in this issue.

Asking for help
We appreciate your effort in taking the time to work on this issue and help out the open source community and the foundation. If you need any help, feel free to ask below or in our gitter channel. We are always happy to help 😄

Hello, I would like to work on this issue for you guys!

Thanks sallen2. It's yours.

@sallen2 Are you still interested in doing this one?

I can do it! I think it'll be good practice. :-)

No problem @sallen2 . We have plenty of other issues once you are ready.
Go for it @Aliciawyse !


feature/#1986 expand pyarrow version

#1986

Must be backported into release/4.0 as well.

Should this be merged ?

Yes !


Need GRPC proxy support

Just like caddy v2, grpc ports can be proxied.
data.example.com:443 {
    reverse_proxy {
        to localhost:5555
        transport http {
            versions h2c 2
        }
    }
}

Casket is not realistically taking feature requests at this time. This should either be opened in the form of a discussion (theorizing the implementation) or a pull request supporting the feature.


Enhancement to create a build.properties override for the language files.

I am looking for an enhancement to supply an override for the location of the language files. I accomplished it in my copy of the dbb with the code below.
build.groovy
line 302:
// load application.properties
    String appLangRootDir = props.applicationLangRootDir ?: props.workspace
    if (!appLangRootDir.endsWith('/'))
        appLangRootDir = "${appLangRootDir}/languages/${application}"
    if (opts.v) println "** Loading application Language Root Dir ${appLangRootDir}"

    String appLang = "${appLangRootDir}"
    if (opts.v) println "** appLang = ${appLang}"

build.properties
approx Line 46:
#
# application language override - where the product language files are located (procgrps)
applicationLangRootDir=/u/prodpc2/scripts/dbbuild/

@rsjrny Thanks for proposing this enhancement. Your proposed changes will definitely work.
However, I believe, because the languages scripts depend on several other parts of zAppBuild framework (like the different utilities), these components belong together as one unit / one configuration.
For example with the recent updates to zAppBuild for moving from the RepositoryClient to the MetadataStore packages or leveraging the new SearchPathDependency APIs, both parts are depending on each other and built one configuration.
What is the background for you to separate out the language scripts?

Thanks,
I want to split the language.groovy and properties away from the product repositories so the languages and properties are NOT updatable by users of the repository. I am supporting 15 products and am currently configured like:
my productN_folder is the application name from the args. If I had
dbb_configs_folder
   product1_folder
      application-conf
      build-conf
      languages

   product2_folder
      application-conf
      build-conf
      languages

   product3_folder
      application-conf
      build-conf
      languages

I have split zAppBuild and its pieces into a script directory. Then take the -conf and languages and put them into individual product directories. by adding the additional property for the languages I modified the code to add the property to the language line. It really is the same override as applicationConfRootDir= so I really only needed to update that code (/languages/) to use the existing override (duh)
What I am honestly trying to accomplish is this but I am still learning the code
I want to use the Assembler.groovy language but use a properties file based on the .ext of the file.  so, if my extension is asm01 I changed the scriptmapping to */asm to use Assembler.groovy but I would like it to use asm01.properties (the .ext value)
I currently have copied Assembler.groovy and Assembler.properties into asm01.groovy and asm01.properties and asm02.groovy and asm02.properties to accomplish the task. That makes for a lot of updating to file.properties.
Script mappings for all application programs
dbb.scriptMapping = asm01.groovy :: **/.asm01
dbb.scriptMapping = asm02.groovy :: **/.asm02
dbb.scriptMapping = Assembler.groovy :: **/.asm
dbb.scriptMapping = BMS.groovy :: **/.bms
dbb.scriptMapping = MFS.groovy :: **/*.mfs

This was the final outcome of my enhancements to get individual application language files in the same directory as the application-conf. It's a lot less changes then my first attempt
Modifications to allow override properties to be maintained in a directory outside
of the startup path within an applications folder. this will suffix the
applicationConfRootDir=/u/prodpc2/scripts/dbbuild/ with the applications name
allowing multiple application overrides in the same root directory

2 changes:
1. New props. value: applicationLanguageInAppConf=Y
2. a code change in build.groovy to read the prop.

The original code (lines 57 - 62):

			if (buildFiles.size() > 0) {
				if (scriptPath.startsWith('/'))
					runScript(new File("${scriptPath}"), ['buildList':buildFiles])
				else
					runScript(new File("languages/${scriptPath}"), ['buildList':buildFiles])
			}

Was modified to this (lines 57 - 66):

			if (buildFiles.size() > 0) {
				if (scriptPath.startsWith('/'))
					runScript(new File("${scriptPath}"), ['buildList':buildFiles])
				else {
					if(props.applicationLanguageInAppConf == 'Y')
						runScript(new File("${props.applicationConfRootDir}/${props.application}/languages/${scriptPath}"), ['buildList':buildFiles])
					else
						runScript(new File("languages/${scriptPath}"), ['buildList':buildFiles])
				}
			}

Hi @rsjrny, I think, don't understand the root problem. You are writing:

I want to split the language.groovy and properties away from the product repositories so the languages and properties are NOT updatable by users of the repository.

zAppBuild needs to be seen as the central build framework implementation at your site. Only the build admin have update permission on this repository.
There is no need for anyone to access or modify it. The build admin provides the framework at a central location in USS, and developers point their User Build configuration to this path, like the pipeline definitions as well.

@dennis-behm
The reason I split the language files outside of the zAppBuild environment is this. If you have a better idea I am open to all suggestions
I have 15 separate products that I support. Each product has the same languages, we will work with HLASM for now.
Product 1 has 400  assembler programs
100 are assembled with proc hlasm01
and 25 are RENT,AC=0  overrides asm01
and 25 are RENT,AC=1  overrides asm02
and 50 are NORENT,AC=0  overrides asm03
100 are assembled with proc hlasm02
and 25 are RENT,AC=0
and 25 are RENT,AC=1
and 50 are NORENT,AC=0
100 are assembled with proc hlasm03
and 25 are RENT,AC=0
and 25 are RENT,AC=1
and 50 are NORENT,AC=0
100 are assembled with proc hlasm04
and 25 are RENT,AC=0
and 25 are RENT,AC=1
and 50 are NORENT,AC=0
There is also syslib difference between the .properties. So for the first set of 100 programs I need 1 assembler proc and 3 different sets of proc overrides
for the most part, the Assembler.groovy will work to replace hlasm01 - hlasm04 but the Assembler.properties is not sufficient. I need to be able to run Assembler.groovy with asm01.properties or asm02.properties or asm03.properties or asm04.properties.
The reason I split the languages into separate folders was that asm01 in product1 is completely different than asm01 in product2. I have the language split working just fine and it is exactly what I needed.
The lack of being able to use different properties for the same Assembler.groovy is what is forcing me to copy Assembler.groovy to asm01.groovy with asm01.properties and the same for asm02, asm03, asm04. All so I can specify different overrides.

Hi @dennis-behm  ,
I have cloned the fork that uses the loadLanguageConfigurationFile and it does work for me with one exception. Unless I have missed something, it is a little too restrictive. I do not want my language configuration files in the build-conf/language-conf folder of zappbuild. I maintain them outside of the build application.
The fork would be perfect if it allowed me to supply the full path location of the override files. It would be great if if I could also do that for the language files.
I have 10 different products that I want to use zappbuild from one location but I need to specify the language-conf once for each of the 10 products because they have additional overrides for the same named property.
product1, langdeff01 is different than product2 langdef01. It would be a nightmare if I had to go and rename the thousands of lines I have in the 10 side decks.
to summarize,
supplying the ability to use a property for the full path of the language-conf folder and the fullpath of the  zappbuild/languages would be wonderful
thanks,
russ


Take advantage of React Query SSR in Next.js

What feature would you like to have?
Pass initial repo and initial 10 releases data through TanStack Query SSR feature + Next.js when the comparator URL is preloaded with info.
What problem will this feature solve?
This will make the process to fetch all the releases faster when processing a preloaded changelog.
Do you want to help make the feature?
Yes
Is there anything else we need to know?
This is blocked by #1127
Useful resources:

TanStack Query - SSR & Next.js

Closing in favor of #860


devices: Fixes org-id transition with db.AccountOrOrg function.

Type of change
What is it?

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I run make pre-commit to check fmt/vet/lint/test-no-fdo

Test results are available in Ibutsu. The test run IDs are:
20a16708-106d-4f47-9e59-f9adc2ac3f92


fix CI_Hooks object method call

$hooks = load_class('Hooks', 'core');
$hooks->enabled = true;
$hooks->hooks['test'] = [new Foo(), 'test'];
$hooks->call_hook('test');// not run
class Foo
{
    public function test()
    {
        echo 'hello,world';
    }
}

The sample code you've provided is incorrect usage of CI_Hooks.
https://codeigniter.com/userguide3/general/hooks.html#defining-a-hook


Does not handle some edge cases related to ngStyle

I've been unable to reproduce this problem outside of my companies proprietary code, so forgive me for not being able to provide much more context.
Here is a screenshot of the current issue:

This seems consistent when replacing the % with multiple other special characters.
!*(-+{<>/?
but not with: ~@#$^&)}[]\|,.;:
If I move the * 100 inside of the parentheses, no issue.

Additionally,

You can see here if I remove the () around currentlyAt / end there is a separate issue with the highlighting of the * 100
However, you can see here that there is no issue

If I make the following modification, it seems to completely break the highlighting:

Let me know if I can provide more information. Unfortunately, I do not think I will be able to replicate it in a standalone repo. Happy to help troubleshoot/test changes.

Hi @Ryntak94 , thanks for the detailed report. I will look into this when I have time.


How do you update the value of taglist? possible bug?

Reproduction
https://formkit.link/474a6a9cdd944dc394e579f03ef2252c
Describe the bug
I tried to use v-model to to pass the value to taglist but also be able to change it later externally. As you can see in the playground example, setting an array of strings for the value joins them with comma as one tag.
I might be doing it wrong and not actually a bug. Please advise.
Environment
• OS: [e.g. iOS]
• Browser [e.g. chrome, safari]
• Version [e.g. 22]

@Youhan I'm currently working on a rewrite of all the dropdown family inputs (dropdown, autocomplete, and taglist). Early next week I'll have a release out (which I'll notify here), for a fix for this.

@sashamilenkovic any update on this? Was excited to see taglist fits our use case perfectly but unable to use it because of this bug.

@J-tt Fair question! Haha. We've been working on this for quite a while now. We are hoping to have this fix included with the release of Beta 18 which we are hoping to get out early next week.

Closing in favor of https://github.com/formkit/formkit/issues/586


[PDP] Make template notebooks

changes

context

Follows PR #24
questions

Closing this in favor of PR #26


Fix broken sonar badges

Currently on PR on Shields.io project : https://github.com/badges/shields/pull/931


Should @Max(value = 50) allow null values

Maybe I'm missing something here...
I have an annotation on an EditText field @Max(value = 50), This fails validation if the EditText is left empty. I feel like this should validate that the field is 50 or less or empty. If I want to also validate that it is not empty I would add the @NotEmpty annotation.
Does that make sense? Or am I completely off base?

The title was supposed to say "Should" not "Shoule" :)

@dotDeeka @Max checks if the field contains an numeric value and if it is less than or equal to the specified value. So, if the field does not contain an numeric value, it is bound to fail. You should use it along with the @NotEmpty annotation. Let me know if that helps.

So the issue I have is I basically only want the field to be validated if it has a value in it. The field is not required. But if it has a value, that value needs to be 50 or less.

@dotDeeka, thank you for clarifying. At the moment, you could use a QuickRule to get the job done. There's a pull request regarding the same. I'll close this issue when I fix this problem.

Awesome @ragunathjawahar , thanks.

@dotDeeka You're welcome :)

@dotDeeka The 2.1.0 version will contain an @OptionalOrValid annotation which can be used in combination with rule annotations for EditText. If the text is empty, the validation will pass or else we'd validate the field accordingly.

Thanks @ragunathjawahar, that should achieve the behavior I'm looking for. Thanks.

@dotDeeka You're welcome. Let's just keep this open till I release it.

Duplicate of #102.


First reference link of Crossover operators !

Bug overview:
I the first link for reference to crossover operators is broken.
Steps to reproduce the behavior:

Go to "Crossover" phase
In the "Reference" part
Link is not clickable.

Thank you.
That was a syntax error in markdown.

Thanks a lot.


Does not work with encrypted SSH keys on macos 12.2

Describe the bug
Pyinfra is unable to connect when authenticating with an SSH key. Supplying or ommitting ssh_key_password in the inventory or as a cli argument does not change the behavior in any way.
--> Loading config...
--> Loading inventory...

--> Connecting to hosts...
    [myhost.com] Authentication error (username=my_user) (Private key file is encrypted)
--> pyinfra error: No hosts remaining!

To Reproduce
inventory.py:
my_hosts = [
    ('myhost.com', {'ssh_user': 'my_user', 'ssh_key_password': '<password>'}),
]

deploy.py:
from pyinfra.operations import server

server.shell(
    name='Run an ad-hoc command',  # optional name for the operation
    commands='echo "hello world"',
)

pyinfra inventory.py deploy.py
Meta
PIP-installed.
--> Support information:

    If you are having issues with pyinfra or wish to make feature requests, please
    check out the GitHub issues at https://github.com/Fizzadar/pyinfra/issues .
    When adding an issue, be sure to include the following:

    System: Darwin
      Platform: macOS-12.2-arm64-arm-64bit
      Release: 21.3.0
      Machine: arm64
    pyinfra: v1.6.1
    Executable: /opt/homebrew/bin/pyinfra
    Python: 3.9.9 (CPython, Clang 13.0.0 (clang-13<IP_ADDRESS>))

Hi @andybeletsky - could you try with specifying the key directly, ie ssh_key: '/path/to/key'. You should get a prompt for the password.
Are you using an SSH agent? I think the issue here is when a key isn't explicitly provided the password flow isn't followed, which should only happen if a key is found on disk (by default pyinfra will look for agent + keys if none provided).

Closing pending furhter information, happy to reopen with more info :)


Add link to NABS as another similar solution

Might be possible to have them combine efforts here.

What: Add readme link to NABS other solution

Why: NABS (not another build system) is very similar to nps

How: typing. ;P

Codecov Report

Merging #115 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #115   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         286    286
=====================================
  Hits          286    286

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 e78f3bb...4180778. Read the comment docs.

Might be possible to have them combine efforts here.

They seem like fairly significantly different projects. But I'm happy to include a link.

Fixed. I didn't add myself as a contributor, as I don't feel like I deserve any credit for any substantial improvement. This link is sort of silly. I only added it because I kept mixing the projects up.


ctrl + shift - not aligning text to rtl/ltr

Issue Type: Feature Request
when clicking:
left  ctrl + left  shift  - the text should be aligned to the left
right ctrl + right  shift  - the text should be aligned to the right
this is realy important to rtl people as some time its easier to edit text in this way and switch back to coding...
VS Code version: Code 1.30.1 (dea8705087adb1b5e5ae1d9123278e178656186a, 2018-12-18T18:12:19.495Z)
OS version: Windows_NT ia32 10.0.17134

In notepad ++

#4994

Let's track in #4994


Reaching Query limit to Log Analytics workspaces

From the MPARR solution, it collects all the information available through the Office 365 Management API and store this information on Logs Analytics workspace, then use Power BI to visualize those data into readable data for Security monitoring and getting insights on information protection. We implement the MPARR solution in our environment for on-Premises file server locations with AIP Scanners for relabeling files with difference kinds of SITs.
During the implementing the MIP Scanner FS Power BI Template, we found an issue where the number of records in the Power BI table is difference from the count from the same query running either from Power BI advance editor or on the Log Analytics workspaces. We created tickets to Microsoft to check and identified a limitation on the Query API to get the data in Log Analytics workspaces from Power BI. The API is able to returns up to 64 MB of compressed data, which translates to up to 100 MB of raw data from each query.

https://learn.microsoft.com/en-us/azure/azure-monitor/service-limits#log-analytics-workspaces
Although there is another way to set notruncation on the Kusto query to disable result truncation for the query, it does not help since the limit is from the number of data being query from the Log Analytics workspaces.

https://learn.microsoft.com/en-us/kusto/concepts/query-limits?view=azure-data-explorer&amp%3Bpreserve-view=true#limit-on-result-set-size-result-truncation
Here is an example, when we try to get the number of ObjectId_s (Number of unique files being scanned with the AIP Scanner), we got 64267 distinct records.

At the same time, when we use Power BI to query the number of record, we also got 64267 distinct records.

However, if we load the record into Power BI, it only returns 36981 distinct records.

When we collect Fiddler log, it shows the results of the query exceed the set limit of 64 MB, so not all record were returned.

This example is target to a sample location which has around 60k files, the AIP scanning has been completed within 3 hours. If we scan for a bigger repository, we are more likely to be reach the Query API limit.
Are there anyone facing the same issue? We are finding a way to establish the correct number of records with the Power BI template.

Hi, I´m working in a new version to resolve some of the problems that you are mentioning, nevertheless, I found a way to overpass that limit, please check this https://github.com/microsoft/Microsoft-Purview-Advanced-Rich-Reports-MPARR-Collector/blob/main/About PowerBI/Power BI Limits.md
And let me know your results.


DefaultDownloadManager.getStorageReference check NFC only when the op is DOWNLOAD/LIST and store type is HOSTED

Looks like we have a failed ftest related to hosted repos and the NFC...not sure if it's new.

@jdcasey I think the original test case is wrong. The META_PATH should not be in the NFC after the pom is restored and NFC entry for POM_PATH is deleted. I guess the original test pass is because when META_PATH is generated and failed, indy adds an NFC for it (but not delete it when pom is restored). Anyway, I make a second commit to correct it.
And I think we should not set NFC timeout when the target repo is hosted (am I right?). In this case, we can just leave the entry subject to default infinispan expiration/eviction.
Please help to review.

That sounds correct to me. I'm not sure why that test depended on the meta path being in NFC after restoring the pom... But your logic sounds correct.On Jun 22, 2018 5:36 PM, Rui Han<EMAIL_ADDRESS>wrote:@jdcasey I think the original test case is wrong. The META_PATH should not be in the NFC after the pom is restored and NFC entry for POM_PATH is deleted. I guess the original test pass is because when META_PATH is generated and failed, indy adds an NFC for it (but not delete it when pom is restored). Anyway, I make a second commit to correct it.
And I think we should not set NFC timeout when the target repo is hosted (am I right?). In this case, we can just leave the entry subject to default infinispan expiration/eviction.
Please help to review.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

CI is happy :). Do you mind merging it if not other concern? I am hoping this can improve performance to some extent.


[fix] clicknav wait until network idle

Fixes #2901
Spent a couple days on this one (https://github.com/bluwy/kit/pull/1). My findings were that for that flaky test, Windows was loading its CSS too slow before we measure is_intersecting_viewport.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Good lord now there's that other flaky test :(

Usually the "prevents redirect loops [no js]" test needs a job re-run to be fixed, could ignore that for now and merge this since the anchor test was consistently happening.

my hero ❤


More work on CKAN dates

I've verified that the date logic now works for ODC and BCDC. Specifically, these records:
http://open.canada.ca/data/api/3/action/package_show?id=002ea135-21f5-4d63-9606-f350f5bf1c48
https://catalogue.data.gov.bc.ca/api/3/action/package_show?id=1-250-000-raster-base-map-bc-albers-pdf

Oh, thanks! Just to clarify, have you tested on the whole crawl of those repos too? Code looks good so I'm OK merging without testing as long as you have.

I ran it for a harvest run, didn't run into any problems, but didn't got for all 100k+ records.  It ran for about 1000 records from each.


Aggregations

Hi @baygeldin, this is an awesome project! Do you have any plans to add support for aggregations?

Hey @jonian, thanks! Supporting aggregations would be nice, but currently I don't have any use for them, so it wasn't in my plans. What's your use case? And what kind of API are you interested in by the way?

I'm using elasticsearch aggregations to build filters. Currently I use only term count and min/max on numeric fields. I want to move away from es and was thinking to use meilisearch with facets distribution, but I saw your project and really liked it.
Any API would be great, I don't have something specific in mind. Maybe something like the API provided by searchkick.
I would really like to contribute on this feature, but unfortunately my experience with rust is very limited.
If it is of any help/inspiration, here is a tantivy-aggregations repo.

Tantivy has collectors that can be used for aggregations and especially MultiCollector and can be used when the Collector types are unknown at compile time.

Yeah, I'm aware of collectors, but at the time I was writing the code I didn't come up with a good use case for them (apart from the obvious one for which I used the TopDocs collector), so I decided to keep things simple. But looking at the screenshot in the searchkick documentation makes me realize that aggregations are actually pretty useful and it would be great to add ability to customize what data is aggregated during the search (but only to some extent because implementing fully custom collectors is tricky for the same reason it's difficult to implement #17).
So, here's what I propose:

Add Tantiny::Collector object (in the same fashion Tantiny::Tokenizer is done). There will be some predefined collectors (TopDocs and others collectors from tantivy docs) that user could configure individually (again, same as tokenizers).
Add collectors: option to Tantiny::Index.new where we would pass an array of Tantiny::Collector objects which will be used by default during the search (and also allow to override it when calling the #search method).
Make #search return whatever the collector collected (in case of multiple collectors it should probably be a hash with collectors as keys and the data they collected as values).

This does require some work, but at least it's more or less straighforward to implement. However, I don't know which collectors would cover your use case. As for filtering by numeric fields, it's already supported (check out the range_query), but I'm not sure what collector would work for aggregating the term count.
Maybe I will draft a PR in the next couple of weeks if I have spare time. You can help if you want (btw I don't have much experience with Rust myself tbh, but I don't find it particularly difficult to write as long as it's just bindings to another library).
P.S: btw would love to hear what motivated you to move away from elastic :) also, if you decide to go with Meilisearch it would be cool if you share your experience because I wanted to try it out myself, but didn't have an opportunity for that just yet.

The proposed collector API looks great! Thank you for considering adding this feature. If only term count is added I think getting other aggregations like min, max, avg and mean can be calculated by the user. Is counting on numeric fields possible?

You can help if you want (btw I don't have much experience with Rust myself tbh, but I don't find it particularly difficult to write as long as it's just bindings to another library).

I was thinking I can contribute by adding some features like meilisearch-rails to make easier to integrate with ActiveRecord but if you think I can help with the rust extension I will give it a try.

P.S: btw would love to hear what motivated you to move away from elastic :) also, if you decide to go with Meilisearch it would be cool if you share your experience because I wanted to try it out myself, but didn't have an opportunity for that just yet.

I want to move away from elastic mainly because of the high memory usage. Right now it uses more memory than my apps with one being multi-tenant. Also the recent change in their license is another factor.
I will test Meilisearch in the coming weeks and I will share my experience. My use case is a bit complex, users define filters from the admin interface and elastic works well with that.


hawkbit: add support for using Range HTTP header

Downloading of firmware updates can now be performed using the Range
HTTP header. This is because some modems don't support downloading files
larger than some set amount when using TLS. For example the nrf9160
modem can only handle transfers of 2 kB when using TLS. Moreover this
also also provides a starting point for resumeable downloads for
hawkbit.
Signed-off-by: Joep Buruma<EMAIL_ADDRESS>

@burumaj do you have any idea how this PR facilitates the resumable download?
For the typical download, I planned to simply record the progress at the time of error and use that to resume the download, the error can happen at any time. The next time when hawkbit want to download the file again, it will check if there was an unfinished download and it will pick up from there. The range would simply be from the last stored progress to the end of the firmware, which I think should be rather straightforward and simple.

@ycsin This just eases that effort, enabling resumable downloads now only requires keeping track of how much of the firmware has been donwloaded. When a download does fail, resuming the download now requires the following steps I think:

From the start of slot1, read all downloaded bytes in clean md_context
set hb_context.dl.firmware_size and hb_context.dl.downloaded_size to the correct values
from send_request set req.header_cb and pass it user_data like "HAWKBIT_DOWNLOAD_RESUME". This would require slightly extending the header_cb function
Download as usual


feat(plugin download): add application/x-zip-compressed for header Accept

Some server might not consider plugin .zip as application/zip but application/x-zip-compressed.
In this case, the server doesn't return the plugin .zip but an error page.
In this PR we add application/x-zip-compressed to the header Accept to fix this issue.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 65.70%. Comparing base (01799f1) to head (cba7591).
Report is 8 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #587      +/-   ##
==========================================
- Coverage   70.48%   65.70%   -4.79%
==========================================
  Files          47       47
  Lines        3158     3158
  Branches      554      554
==========================================
- Hits         2226     2075     -151
- Misses        738      879     +141
- Partials      194      204      +10

Flag
Coverage Δ

unittests
65.70% <ø> (-4.22%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines
Coverage Δ

...deployment_toolbelt/jobs/job_plugins_downloader.py
50.37% <ø> (ø)

... and 7 files with indirect coverage changes


Disable collecting unit tests code coverage data for PRs

These data don't make much sense without collecting coverage
data also for acceptance tests. Decided to disable it.

Thanks @tysonite!


Replace addConstr() by newer addLConstr() available for gurobi >= 9.0

this remove some warnings that pops up in pycharm
this is supposed to be faster
this has been introduced in gurobi 9
we add the minimal version for gurobi in install documentation (this is an optional requirement)

we have to keep addContrs as it was, and just replace the addConstr by addLConstr otherwise it seems ok

Done. (but already squashed in first commit, sorry about that)


[WFRP4e System] shield doesn's count into AP

If I equipped a shield to a character than it doesn't appear in the AP.From: ilacwfrp4e: 3.0.1wfrp4e-core: 1.01

Confirmed with ilac that he did not have the correct skill to use Shield AP


Add AlternisKerbolRekerjiggered and AlternisKerbolRekerjiggered-flags.

Original: https://github.com/KSP-CKAN/NetKAN/pull/2255
Since then the configs are no longer included.
@Olympic1 another planetpack.  https://github.com/KSP-CKAN/CKAN-meta/issues/588

LGTM! Merging with Thanks! :D


Movies in collections not being detected

Description
I have 3 libraries, TV shows, Movies and Collections but no movies that are in collections are being marked as available. Should Collections be a library item at all? It's not very clear. I've removed Collections to see what the results are after a scan
Originally posted by @colfin22 in https://github.com/Fallenbagel/jellyseerr/discussions/472
Version
1.6.0
Steps to Reproduce
I have 3 libraries, TV shows, Movies and Collections but no movies that are in collections are being marked as available. I've un-selected the collections library and forced a scan but the issue still persists. See uploaded screenshot, all of these movies are in my library but as they are in a collection none are marked as available. Logs of the last scan with collections enabled attached, you can see from the scan it's not detecting any of the movies in the Fast collection
Screenshots

Logs
2023-09-10T10:57:01.790Z [debug][Jellyfin Sync]: Title already exists and no new media types found A Fall from Grace
2023-09-10T10:57:01.791Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fahrenheit 451
2023-09-10T10:57:01.795Z [debug][Jellyfin Sync]: Title already exists and no new media types found False Positive
2023-09-10T10:57:01.804Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Eyes of Tammy Faye
2023-09-10T10:57:01.808Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fahrenheit 451
2023-09-10T10:57:01.810Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fall
2023-09-10T10:57:01.813Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fame
2023-09-10T10:57:01.815Z [debug][Jellyfin Sync]: Title already exists and no new media types found Falling Down
2023-09-10T10:57:01.820Z [debug][Jellyfin Sync]: Title already exists and no new media types found Falling Inn Love
2023-09-10T10:57:05.988Z [debug][Jellyfin Sync]: Title already exists and no new media types found Famous and Fatal
2023-09-10T10:57:05.992Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Family Stone
2023-09-10T10:57:05.995Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Family I Had
2023-09-10T10:57:05.995Z [debug][Jellyfin Sync]: Title already exists and no new media types found Far from the Madding Crowd
2023-09-10T10:57:06.017Z [debug][Jellyfin Sync]: Title already exists and no new media types found Family Man, Family Murderer: An ID Murder Mystery
2023-09-10T10:57:06.036Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fargo
2023-09-10T10:57:06.038Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Farewell
2023-09-10T10:57:06.056Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fantastic Four
2023-09-10T10:57:06.061Z [debug][Jellyfin Sync]: Title already exists and no new media types found Family Guy Presents: It's a Trap!
2023-09-10T10:57:06.063Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fantastic Voyage
2023-09-10T10:57:06.064Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fanny and Alexander
2023-09-10T10:57:06.072Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fantastic Planet
2023-09-10T10:57:06.074Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fantasy Island
2023-09-10T10:57:06.074Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Fanatic
2023-09-10T10:57:06.074Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fast & Furious Presents: Hobbs & Shaw
2023-09-10T10:57:06.111Z [debug][Jellyfin Sync]: Title already exists and no new media types found Far from the Tree
2023-09-10T10:57:10.229Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fatal Affair
2023-09-10T10:57:10.324Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fatale
2023-09-10T10:57:10.332Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father of the Bride
2023-09-10T10:57:10.333Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fear and Desire
2023-09-10T10:57:10.333Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father Soldier Son
2023-09-10T10:57:10.335Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Father
2023-09-10T10:57:10.335Z [debug][Jellyfin Sync]: Title already exists and no new media types found Faults
2023-09-10T10:57:10.336Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Fault in Our Stars
2023-09-10T10:57:10.344Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fast Times at Ridgemont High
2023-09-10T10:57:10.344Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father Stu
2023-09-10T10:57:10.345Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fear and Loathing in Aspen
2023-09-10T10:57:10.346Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fatherhood
2023-09-10T10:57:10.354Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father Christmas Is Back
2023-09-10T10:57:10.361Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father of the Year
2023-09-10T10:57:10.363Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Favourite
2023-09-10T10:57:10.369Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fatman
2023-09-10T10:57:10.372Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fatima
2023-09-10T10:57:10.373Z [debug][Jellyfin Sync]: Title already exists and no new media types found Father of the Bride
2023-09-10T10:57:10.374Z [debug][Jellyfin Sync]: Title already exists and no new media types found Faster
2023-09-10T10:57:10.374Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fast Color
2023-09-10T10:57:14.508Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Festival
2023-09-10T10:57:14.510Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Fifth Element
2023-09-10T10:57:14.511Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fight Club
2023-09-10T10:57:14.516Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Field
2023-09-10T10:57:14.519Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fences
2023-09-10T10:57:14.530Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Field
2023-09-10T10:57:14.530Z [debug][Jellyfin Sync]: Title already exists and no new media types found The Fear of 13
2023-09-10T10:57:14.531Z [debug][Jellyfin Sync]: Title already exists and no new media types found Ferris Bueller's Day Off
2023-09-10T10:57:14.537Z [debug][Jellyfin Sync]: Title already exists and no new media types found Ferry
2023-09-10T10:57:14.548Z [debug][Jellyfin Sync]: Title already exists and no new media types found Ferdinand
2023-09-10T10:57:14.551Z [debug][Jellyfin Sync]: Title already exists and no new media types found Filth
2023-09-10T10:57:14.551Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fear of Rain
2023-09-10T10:57:14.562Z [debug][Jellyfin Sync]: Title already exists and no new media types found Feel the Beat
2023-09-10T10:57:14.565Z [debug][Jellyfin Sync]: Title already exists and no new media types found A Few Good Men
2023-09-10T10:57:14.565Z [debug][Jellyfin Sync]: Title already exists and no new media types found Field of Dreams
2023-09-10T10:57:14.566Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fighting with My Family
2023-09-10T10:57:14.567Z [debug][Jellyfin Sync]: Title already exists and no new media types found Fear and Loathing in Las Vegas
2023-09-10T10:57:14.650Z [debug][Jellyfin Sync]: Title already exists and no new media types found Feed

Platform
desktop
Device
Docker
Operating System
Ubuntu 22.04 host
Browser
Firefox
Additional Context
No response
Code of Conduct

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

Yeah it's a bug with the jellyfin api we use. There's a workaround for this. Do not use automatically collection option in the library of jellyfin and instead use tmdb boxsets plugin (you'll need to remove all your current collections and do a sync before you turn on this plugin)

Sorry, I'm not clear on my actions? I delete the collections library item in jellyfin, sync this app, then install and enable tmdb boxsets in jellyfin and run a scan to get my collections library back?

Sorry, I'm not clear on my actions? I delete the collections library item in jellyfin, sync this app, then install and enable tmdb boxsets in jellyfin and run a scan to get my collections library back?

Remove all your collections. Sync in jellyseerr. Install tmdb boxsets and let it handle collections

Thanks, underway

Yeah, that worked. Thanks

Remove all your collections. Sync in jellyseerr. Install tmdb boxsets and let it handle collections

This is working for me.
But the tmdb boxsets plugin only shows collections in another library called collections. I liked the functionality of grouping movies into collections in every library. Would be great to have a fix for this some day

Remove all your collections. Sync in jellyseerr. Install tmdb boxsets and let it handle collections

This is working for me.
But the tmdb boxsets plugin only shows collections in another library called collections. I liked the functionality of grouping movies into collections in every library. Would be great to have a fix for this some day

You literally can do that...
Tmdb boxsets or automatic collection both will create a collection folder. But you CAN still display collections in its own library. I'm literally doing that.

you are right. I just tested this by downloading movies from one collection I did not have before and Overseerr finds them even though they are inside a collection as soon as the second movie arrives.
Awesome.
I was just confused and did not expect this to be working because now I have the same setup as before when it wasn't working.

So I have always been using TMDB Boxsets for collections (and never JF's native feature); still any movie in a collection was not picked up.
I had the library display option "Group films into collections" enabled as shown by @Fallenbagel. I then disabled this option, did a re-scan of the library in jfseerr, the number of movies during the scan went up and every movie was added properly.
However, I prefer this option to be enabled. As soon as I enable the option again, the number of movies during a scan goes down again. The movies inside collections still remain in the library but I think this is only because media availability is not yet merged (https://github.com/Fallenbagel/jellyseerr/pull/522). I fear that as soon as that feature is merged, the movies from collections will be gone again with "Group films into collections" enabled

So I have always been using TMDB Boxsets for collections (and never JF's native feature); still any movie in a collection was not picked up.
I had the library display option "Group films into collections" enabled as shown by @Fallenbagel. I then disabled this option, did a re-scan of the library in jfseerr, the number of movies during the scan went up and every movie was added properly.
However, I prefer this option to be enabled. As soon as I enable the option again, the number of movies during a scan goes down again. The movies inside collections still remain in the library but I think this is only because media availability is not yet merged (https://github.com/Fallenbagel/jellyseerr/pull/522). I fear that as soon as that feature is merged, the movies from collections will be gone again with "Group films into collections" enabled

You could test out with that pr. But the thing is, I also have that option enabled:

Yes, I saw that in your post. However, I can reproduce this by

disable "Group films into collections"
all movies are added
remove the data for a single movie in a collection from jfseerr
enable "Group films into collections"
re-scan the library
the movie is not re-added

Disabling "Group films into collections" allows for the movie to be re-added again. As I said I've only ever used the TMDB Boxset plugin. To debug I have uninstalled it, removed the existing collections library and then re-installed the plugin. Still, behavior is as described above. I am using the latest stable in docker.

Yes, I saw that in your post. However, I can reproduce this by

disable "Group films into collections"
all movies are added
remove the data for a single movie in a collection from jfseerr
enable "Group films into collections"
re-scan the library
the movie is not re-added

Disabling "Group films into collections" allows for the movie to be re-added again. As I said I've only ever used the TMDB Boxset plugin. To debug I have uninstalled it, removed the existing collections library and then re-installed the plugin. Still, behavior is as described above. I am using the latest stable in docker.

Unfortunately I have tried that too and can't reproduce it. I am on develop tag though

Unfortunately I have tried that too and can't reproduce it. I am on develop tag though

Okay, then I'll try again once the next update is released. And I really appreciate your help, thanks!

:tada: This issue has been resolved in version 1.8.0 :tada:
The release is available on:

v1.8.0
GitHub release

Your semantic-release bot :package::rocket:


documentation enhancement in DEV_GUIDE.md

No mention of using dev branch as upstream not the main

I think this is what you are asking for ? Is this fine

Please mention further suggestions if any

LGTM !!

https://github.com/finos/a11y-theme-builder/pull/848 the PR is merged we are closing this. @aaronreed708


[HOLD for payment 2024-11-14] [$250] Bank account - Website in upper-case letters is accepted despite validation error

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.58-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to workspace settings > Workflows.
Click Connect bank account.
Click Connect manually.
Proceed to "What's your company’s website?".
Enter an invalid website to trigger the error.
Note that the error mentions "Please enter a valid website using lower-case letters.".
Enter a website using upper-case letters.
Click Next.

Expected Result:
App will not proceed to the next page because the error mentions that the website must be in lower-case letters (production behavior).
Actual Result:
App proceeds to the next page when using upper-case letters despite the error.
The error message should be updated if this is the expected behavior.
The same validation message also happens in Invoice company website page.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[x] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/252c9834-3d5c-4e41-89bb-4e38e794e50f

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021854108988948033314
Upwork Job ID:<PHONE_NUMBER>948033314
Last Price Increase: 2024-11-06
Automatic offers:

suneox | Reviewer | 104768561
ahmedGaber93 | Contributor | 104768562

Issue OwnerCurrent Issue Owner: @abekkala

Proposal
Please re-state the problem that we are trying to solve in this issue.
Bank account - Website in upper-case letters is accepted despite validation error
What is the root cause of that problem?
Offending PR
when we validate website link we convert the url to lowercase and add https:// to this link
https://github.com/Expensify/App/blob/573162fa38cb394a6d0a1c370ffc42279cecf493/src/pages/ReimbursementAccount/BusinessInfo/substeps/WebsiteBusiness.tsx#L37
What changes do you think we should make in order to solve the problem?

we should check if it starts with http then we won't use Str.sanitizeURL function
 if (values.website && !ValidationUtils.isValidWebsite(values.website.startsWith(CONST.COMPANY_WEBSITE_DEFAULT_SCHEME) ? values.website : Str.sanitizeURL(values.website, CONST.COMPANY_WEBSITE_DEFAULT_SCHEME)))

What alternative solutions did you explore? (Optional)

I will raise PR for this, probably in a hour or two.

Thanks

@Krishna2323 even if I remove isLowerCase I still reproduce the issue.

@Krishna2323 I think we just need to edit the error message and remove using lower-case letters part because we now use sanitizeURL that convert the URL to lowercase before send it to backend. We can also remove isLowerCase condition in isValidWebsite because it is not important with sanitizeURL value
Another related issue in IOU company info we need to fix it, domain name is invalid if URL start with Https. This because we pass values.companyWebsite not companyWebsite here and extractUrlDomain use a not case-insensitive regexp DOMAIN_BASE, so we need to pass companyWebsite instead of values.companyWebsite

Fix was CP'd, asked for a retest here.

Fixed here: https://github.com/Expensify/App/pull/52155#issuecomment-2462087740

@Julesssss  & @ahmedGaber93
I just reviewed the PR - can you confirm that it was @Krishna2323, not @suneox that created the fix?
To me the payouts appear to be:

Fix: @Krishna2323
PR Review: @ahmedGaber93

Which differs from the melvin message above

aaaah ok ok - thanks @Krishna2323


issue and suggestions

It is an awesome tool I have find till now.
There is a suggestion on dealing with html scripts inside of an article:
When there is html code inside of the article, the current result for text is to keep the html as inner-text.
My suggestion is to provide options for developers to choose whether to keep it, remove it, or convert it into non-html text.
There is an issue when I use fulltext to deal with the text (contains html script inside of it).
article = Article("https://community.thunkable.com/t/uploading-files-to-firebase/1916", keep_article_html=False)
article.download()
article.parse()
article.text # this contents contains html scripts inside of it. I want to remove the html scripts.
# suggest to provide options for developers to choose: remove html, keep html, covert html into text just like what article.parse() have done for article.text.
ftext = fulltext(article.text)  #I use this function to convert html scripts into text - to simulate article.parse(). However, there hides two problems.
#problem1: there is a tag <input ... /> in the article.text, the tag is completed, however, the fulltext function deals with it as incomplete - seems that an <input ...>  would work?
#problem2: because of problem1, the fulltext function treat text follows "<input .... />" as tail of the input tag. Then, when returning the text of the input tag, it should have returned text + tail, however, the tail is ignored - only text of the tag is returned.
Based on problem1 and problem2, the ftext lost many thing.

in parsers.py, I changed the getText as follows. It temporarily returns the complete text I want. hope it helps.
def getText(cls, node):
    txts = [i for i in node.itertext()]
    if(node.tail):
        tail = "\n" + node.tail
    else:
        tail = ""
    return text.innerTrim(' '.join(txts).strip()) + tail


Add FixedInterval and CalendarInterval to IDateHistogramCompositeAggr…

…egationSource
This commit adds FixedInterval and CalendarInterval to
IDateHistogramCompositeAggregationSource and deprecates
Interval.
FixedInterval uses Time type as units must be specified and the largest unit
supported is Day.
CalendarInterval can specify either a DateInterval or a DateMathTime
with a fixed unit of 1.
Closes #4695.

opened https://github.com/elastic/elasticsearch-net/issues/4781 for the Date property tests


Use --exclude-lines from baseline, if there

We somewhat recently added an --exclude-lines option when scanning, that will end up in the baseline here:
  "exclude": {
    "files": "...",
    "lines": "(foo)"
  },

We might as well not make people do e.g.
    -   id: detect-secrets
        args: ['--baseline', '.secrets.baseline', '--exclude-lines', '(foo)']

in their .pre-commit-config.yaml, if they already have a line exclude in their baseline.

This is handled in the upcoming v1 release through filters (https://github.com/Yelp/detect-secrets/blob/pre-v1-launch/docs/filters.md). Once the baseline is loaded, all settings are also configured, which carry over any line/file exclusions, as well as other filters (e.g. wordlist, verifiability, etc.)
Closing as done.


Fix issue 551

Fixes #551

execute extra facet less and filter less search (scoped!) when no results are found, in order to determine if user has any records (in that scope)
add blank state message specific for that scope

@nics wait before merging

ok go ahead

merge conflict solved


Add Java code style for IntelliJ 15

IntelliJ 15 has a bit of a different XML format than the previous versions. This pull request solely deals with the style updates needed for Java in IntelliJ 15.

Thanks a lot! This also works for on my Idea 14!

Can someone merge this?

I believe this has been subsumed by #209, which is now merged.


[Communication Network Traversal] Migrate to test proxy

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


Fix application logs after adding EventStream usage and OnPluginsLoaded.

Sounds good, Jeff, I will soon take a look.

This also still references NuGet CI build, thus waiting to merge.

closes #50


i18n: bad translation breaks luci

Steps to reproduce:

Install luci-i18n-https-dns-proxy-es (the spanish translation of https-dns-proxy)
go to: Services→ Https dns proxy

Actual behavior:
Luci crashes.

Expected behavior:
I want to load and see the https dns proxy page.
Additional Information:
The problem is that one translation is bad, it was in the form ...(%smore...) and by mistake it was translated by (%more...). I have fixed it in weblate, but my suggestion is:

Can we maybe catch the error, and ignore the bad translation, and use the original string? At least in this way luci work and is not break for one bad translation.
Adding too an error at top of the page with the "bad translation" can help to find and fix the issue without breaking luci.

A second option:

Simply modify the actual error page to show the bad string. This time I've found the bad string easily, but the next time maybe is not as easy.

I merged the weblate fix to master.  (I will backport to 22.03 later)

Fixed in master and 22.03

I am not sure if an easy/semi-easy solution for overcoming bad translation strings (bad print argument string formats etc.) can be easily spotted/fixed at runtime (e.g. by using the original English string if the exception originates from i18n.lua?), so I closed the issue after fixing the current bad string, although the intended discussion point is maybe wider.
If you @jow- think that this should be left open, feel free to reopen.