Documenting large apps, group modules into @categories

I am working on an app wich will become quite huge in time. I have decided to use JsDoc3 and DocStrap to document all modules. Modules are defined via require.js and in some places they are nested up to 3 or 4 levels deep.
Untill now I understand that JsDoc documentation is split into generic sections: Modules, Classes, Tutorials, Globals, etc. Each section has a header dropdown menu and a sidebar each of them listing all of the modules in liniar fashion, alphabetically.
I was wondering if there are options to display/group modules and Classes somehow to reflect the project structure. I saw a git repository that document all the classes with lots of slashes module1/submodule1/class1, but it feels really though to diggest this type of navigation. Not to mention that the layout was having trouble with long titles overflowing from the sidebar.
Currently I have a project layout similar to the schema from bellow. It's wide and deep and I expect it to grow further.
/Editor
---/Services
------/UI
------...
---...
---editorApp.js
/Engine
---/Core
------/...
---/Entities
------/...
---/Graphics
------/...
---/...
...
engine.js
/Web
---/Services
------/UI
------...
---...
---webApp.js

Eventually I redesigned the .css file of the docstrap template I was using, making the following adjustments:

I moved the top menu on the left side
I have expanded the dropdowns into full view, making them always visible.
I am using module prefix naming convention. I hate it at best.

This has the advantage of allways showing the full extent of the documentation, making it easy to get an overview of the whole architecture. I was following the design of other documentations such as undescore, angular and moment.js
Wish there was @category tag to allow grouping of modules in separate categories.
Also with @memberof SomeCategory it would be nice to do subcategories.

I'm facing the same problem of documenting a large Node.js app that itself consists of several packages with sub-packages. I see no way to annotate these packages so that the hierarchical structure is still reflected in the generated documentation.
Here is a simplified structure that demonstrates this (see app.zip):
app
├── api
│   ├── index.js
│   └── package.json
├── core
│   ├── index.js
│   ├── lib
│   │   ├── factory
│   │   │   ├── index.js
│   │   │   └── personFactory.js
│   │   └── model
│   │       ├── Person.js
│   │       └── index.js
│   └── package.json
└── package.json

Person is a simple JavaScript class that can be instantiated via new so it will be annotated with @class. personFactory is a ready-to-use singleton module with a static create()-method so it will become a JSDoc @module.
The question is how to annotate the entire application in such a way that the generated documentation reveals the structure as it needs to be known for importing (e.g. to use Person you need to import it via require('core').model.Person).
In this example there a 2 packages (api and core). These packages may contain nested packages/modules (e.g. factory and model) that themselves can have nested "real" modules (personFactory) and so on.
The only JSDoc tag that allows nesting seems to be @namespace but a namespace must not contain a module so the nesting path namespace[core] -> namespace[factory] -> module[personFactory] is not supported. Another approach using modules like module[core] -> module[factory] -> module[personFactory] does not work as nesting of modules like this is not supported:
@module factory
@memberof module:core

The JSDoc documentation suggests defining modules like @module core/factory/personFactory but this is only a workaround via naming conventions. The real structure is lost which is visible in the generated documentation as the intermediate modules (e.g. core/factory) are empty and do not contain their child modules. Moreover semantically a module that provides functionality is something different than a package which is a structuring element and does not contain functionality.
In my opinion there should be a dedicated JSDoc tag that supports the documentation of a nested package structure like package[core] -> package[factory] -> module[personFactory]. Alternatively the module tag should be extended to support nested modules.

:+1:

:+1:

Hi,
It would be a must, but isn't it more a template side functionnality?
So it would not result in an @categories to be added, but in an additionnal parsing in the module name when building the nav's "Modules" section... (just an idea, so tell me if I'm wrong or if I misinterpreted your request)

:+1:

I have the same structure that @akloeber described.
I'm using a combination of modules and namespaces, but that is not very friendly. This is what I do:
/**Parent module
* @module package-name
*/

/**Child of the parent module
* @namespace firstChild
* @memberof module:package-name
*/
```js

This has a problem: I have to specifically document all the members of the namespace. Module has the great addition that it automatically picks lots of the functions contained on the module.

If anyone ends with a better solution I would love to hear it

@adrian-moisa I really like your sidebar, could you share how you did it?

+1 for a tag for categorizing modules.

I'm having this problem too when trying to get documentation for my library. It would be nice if @memberof would work alongside @namespace and @module. One of the problems I've been having is understanding when I should be using namespace or module since it seems mostly arbitrary. I would actually posit that the use / introduction of @category is not a very strong solution as it is essentially a flat structure and would quickly have limited use. Instead trying to imply a (nested) structure from filepath that can be overridden.
Lodash uses a flat structure and a @category tag for grouping, but they have a flat list of categories. I use a nested tree structure and frequently find all files in a folder are imported into an index which is then re-exported.
Maybe this discussion could find some sort of concrete conclusion that covers most cases that we can propose rather than just citing the problem.
How do you guys use namespace vs module? I find that my filepath and object path are not identical, yet are frequently related. I'd also like it if the auto-membering of @module was extended out to other cases (such as namespaces) or worked when members are spread out across multiple files. How relevant is module really when most common practices for open-source libraries do not encourage directly importing specific source files / modules and instead suggest traversing objects? Lodash seems like an interesting example since you can get all the utilities packaged together or individually. I wonder why they didn't use folders to imply categories vs extra documentation tags.

I managed to successfully document a complex project using @namespace for sub-packages and lots of @memberof, however remembering and manually adding @memberof tags was a nuisance so I've written a simple plugin to add it automatically based on @namespace defined in index files.
https://github.com/kozhevnikov/jsdoc-memberof-namespace

@kozhevnikov I was using the same structure (see my comment above ). Glad you xlhave created a plug-in that will just work out of the box with my setup (my template already adds a namespace to every index ). I'll check it out

+1
I'm running into the same problem with a React app. This would be a life saver.

+1

Please use reactions instead of +1 comments. The advantages are numerous and no one gets spammed.

linking this to an identical question on StackOverflow

@adrian-moisa Sir! How did you manage to implement and customize Docstrap?

I've just published a new version of better-docs template which supports @category tag. Long story short you can add @category tag to your class/module/whatever and it will be namespaced in the sidebar. Hope this will help you.

@wojtek-krysiak Your packages do too many thing (and install react...),you should split it. If I only want to use @category without @component, I should have package without react dependancies. lerna is a good tool to split project in several package.

@wojtek-krysiak @category works fine and I get category name in the sidebar as heading but the same is not happening wit @subcategory . Used @subcategory Reducer but in navigation sidebar I'm getting GLOBAL as heading and nowhere I'm getting the subcategory name "Reducer" as heading.
In this file I gave @category & @subcategory as below 👍 /**

@category Pagination
@subcategory All
*/
const paginationReducer = (state, action) => {
switch(action.type){
case 'UPDATE_PAGENUMBER' :
return action.payload ;
default :
return state;
}
}
export default paginationReducer;

But output file shows like below :

@adrian-moisa unfortunately subcategory doesn't work for global things. We implemented it in a way that it adds / subcategory to the Type (other than global). Take a look here: adminbro.com/docs.html (in the sidebar there is COMPONENTS / APPLICATION - application is a subcategory)


Integration of Device Manager with ODIM's services

This pull request contains code related to integration between Device Manager and ODIM services moved into this project.
Most of the Device Manager code was rewritten. It connects with services via ODIM plugin interface using https.
Please note that most of the files changed comes from removing /vendor folder of Device Manager.
All code inside this PR was already reviewed on integration branch and the reviews can be found here but be welcomed to test and give us feedback!
Fixes:
#2
#19
#24
#29

This pull request was accepted on OpenRMC-DM meeting (25th April)


successor of #45 fork

Add Playwright tests to the Simulator GUI

Newly discovered ToDo's
home.spec.ts:

verify that the reset button test checks the right thing -> is the api-call assertion unnecessary?

entities.spec.ts:

eventually reorganize the code to use a loop and don't have redundant 'isVisible' checks.

navbar.spec.ts:

has the page-content to be verified? Like the page-title. Right now only the URL is asserted.

entities.spec.ts:

'Test-Results' test the 'Show Test Parameters' button functionality,
'Messages' test the 'Show Headers' button (check if URL and Filter are changed correctly)
right now the "Scenario Parameters" and "Test Parameters" are not found. We didn't have an example Json for these to test whether they would be displayed correctly if there were any parameters returned by the backend

entities.spec.ts and scenario-results.spec.ts:

test all 'Entities' sub pages and the 'Scenario-Execution' Page Refresh-List button

scenario.spec.ts:

fix the last two tests

all pages:

'Not Items found' banner should appear if backend sends empty json
'Error alert' banner should appear if backend returns an error code

in diesem MR liefen die actions mal: https://github.com/citrusframework/citrus-simulator/pull/301. ich denke, wenn jemand von euch wieder pushed kann ich sie dann hier auch wieder approven.

superseded by https://github.com/citrusframework/citrus-simulator/pull/309.


fix: create fuels not respecting toolchain file

Closes TS-650

Closes #3159

Release notes
In this release, we:

Fixed create fuels not using the correct versions from the fuel-toolchain.toml file

Summary
This PR ensures that create fuels uses the fuel-toolchain.toml file in the template for the versions of forc and fuel-core it should use.
Checklist

[x] All changes are covered by tests (or not applicable)
[x] All changes are documented (or not applicable)
[x] I reviewed the entire PR myself (preferably, on GH UI)
[x] I described all Breaking Changes (or there's none)

@arboleya the fix turned out to be as simple as your suggestion in the sync. idk how I didn't catch this last week when I had a first stab at this lol


Add default limits to sample yamls

Description
Updating our sample files to include default resources for activate gate containers.
How can this be tested?
Apply a sample file and check if resources are set on the active gate containers.
Checklist

[ ] Unit tests have been updated/added
[x] PR is labeled accordingly

Should we add a comment, that these limits might be customized depending on the cluster?

Removed the comment now, but a hint to adjust the values is still there: "Consumption of the ActiveGate heavily depends on the workload to monitor; please adjust values accordingly."


Getting 'WARN: Unknown device - IMEI'

I am getting 'Unknown device - IMEI' in traccar-server.log, when i connected a new device. Device exists in db. Also tried with config <entry key='database.ignoreUnknown'>false</entry> but having no luck.

It means that your device have "IMEI" as a unique id. What exactly did you add to the database? Can I see a screenshot?

IMEI =<PHONE_NUMBER>11

Your device sends "IMEI" (literally) as unique id. Not number.

No no my device sends a number as unique id, i just put IMEI for reference only. Sorry for miscommunication. :(
Exact log is
WARN: Unknown device -<PHONE_NUMBER>11 (ip address)

It means that server can't find device in the database.


[BEAM-4037] Add streaming wordcount snippets and test

This change allows our documentation to refer to these tested streaming wordcount snippets.

R: @aaltay
CC: @melap

LGTM. snippets_test is failing, please fix that.

Sent out commit with # coding=utf-8 fix.

Thank you I can merge once tests pass.

retest this please

Could you fix the lint errors:
Running pylint for module apache_beam:
************* Module apache_beam.examples.snippets.snippets
C:681, 0: Line too long (81/80) (line-too-long)
************* Module apache_beam.examples.snippets.snippets_test
C: 25, 0: standard import "import os" should be placed before "import mock" (wrong-import-order)
C: 26, 0: standard import "import tempfile" should be placed before "import mock" (wrong-import-order)
C: 27, 0: standard import "import unittest" should be placed before "import mock" (wrong-import-order)
C: 28, 0: standard import "import uuid" should be placed before "import mock" (wrong-import-order)


CI: remove the checkout path on the publish job

No need to specify a path, since we don't have the working directory
specified.
Fixing the broken publish job.

lgtm


Update sql-VA-Baselines-Rules in ARM-templates

Added documentation on VA Baseline Rules Config for ARM templates

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Sannadiana sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@Sannadiana : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Michal<EMAIL_ADDRESS>for review
From: PRMerger13<EMAIL_ADDRESS>Sent: Monday, February 10, 2020 9:30 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: David Trigano<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Update sql-VA-Baselines-Rules in ARM-templates (#47798)
@Sannadianahttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSannadiana&data=02|01|David.Trigano%40microsoft.com|0f1856f5b3a84c1288c308d7ae5f9ae8|72f988bf86f141af91ab2d7cd011db47|1|0|637169597950628672&sdata=vpQmeRmk11CoVYA6HPFj6zN85dGGHadPKyVzdFyufAU%3D&reserved=0 : Thanks for your contribution! The author(s) have been notified to review your proposed change.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F47798%3Femail_source%3Dnotifications%26email_token%3DANB4JAT55E22HEZJMJF4E6TRCGTLDA5CNFSM4KSUCOB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELJ5SDI%23issuecomment-584309005&data=02|01|David.Trigano%40microsoft.com|0f1856f5b3a84c1288c308d7ae5f9ae8|72f988bf86f141af91ab2d7cd011db47|1|0|637169597950628672&sdata=zI20HNe2fe3V8vJYgw0aUqpg%2F4xvTrdES0Ruq5ypN58%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANB4JAS2HL6EM6VEGZRBTULRCGTLDANCNFSM4KSUCOBQ&data=02|01|David.Trigano%40microsoft.com|0f1856f5b3a84c1288c308d7ae5f9ae8|72f988bf86f141af91ab2d7cd011db47|1|0|637169597950638668&sdata=hCV1Xpb89J4Vpt%2BbCd%2BqoNaVfiy7XEDh1pCdT5NZ2nY%3D&reserved=0.

#sign-off

@VanMSFT: I'm sorry - only the author of this article, @DavidTrigano, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Subcommand to rebuild documentation when sources change

When writing documentation I find it very helpful to get immediate feedback on how it ends up looking, especially if one does not yet have lots of experience with a particular tool. Some tools have subcommands for this purpose to automatically rebuild when changes in its source occur (e.g. mkdocs serve, mdbook watch or typst watch).
I would suggest to add a similar subcommand to doxide (e.g. doxide watch) which would watch the documentation's source files and rebuild it on changes.
If this is considered a useful feature I would be glad to try to implement it.

Thanks @Bzero, great idea I think! I would find this very useful as well, I usually have mkdocs serve running but have to manually run doxide build on each change, so a doxide watch would certainly improve my workflow, giving immediate feedback as you say.
Very happy for you to have a go at implementing this. Let me know if you need any pointers to get started.

Sounds good @Bzero. One simple approach that comes to mind is to just keep track of last modified times and periodically (every few seconds?) scan for new and modified files. That would avoid additional dependencies and be cross-platform. An added layer would be to keep a hash of the file contents, and if the last modified time is updated, use the hash to check whether the file has actually changed (rclone works this way).
If changes are found it might currently be necessary to trigger the whole build again, as the data structures are not set up for incremental changes.
So a minimum viable approach here might just be periodic scan and full rebuild on changes. But interested to see what you come up with!

While I would still think using the os provided method (like inotify on linux) would be the more scalable and more responsive way, I agree that with you that periodically checking file modification time is simpler to start with so I decided to take that way for now.

Thanks for the PR @Bzero! I'll get it reviewed, but had a quick look already and looking good.
I agree with you that something like inotify would be more scalable and responsive. My thinking is the scan approach gives a baseline that's portable across platforms, and a followup iteration could be using a portable library (if you found one) for an event driven approach, or if not can add system-specific approaches like inotify one at a time.
So, for example, if you see a clear way forward to add inotify for Linux but you're blocked on how to support other platforms, it would be acceptable now to add a Linux specific improvement, knowing that other platforms are still supported with the baseline approach.

Thanks again for the contribution @Bzero, will close now that #66 is merged.


I can't seem to access my booster advisor page

mtga.cc/crafter/#TYSL
That is the link to my booster advisor page, I added a new deck to the crafting list and now the page is stuck at showing me the loading animation.
I have tried it in firefox and edge, with and without adblockers, in a private window with all the addons disabled.

We are working on it, hold on

Fixed, use ctrl+f5 for update.


How to get only share links without html tags

i want only href link without the html tags .

This is currently not supported in the package. Feel free to add a PR


Add HM3DSem category mappings file

Motivation and Context
This PR adds a file to map raw HM3DSem category names to 40 standard MP3D categories. The first column contains the raw name from HM3DSem annotations, the second column contains the typo fix to the raw name (if any), and the third column contains one of 40 standard MP3D categories. This is particularly useful in generating HM3DSem ObjectNav episodes, where we used the following code snippet to map raw names to an HM3D ObjectNav category.
# Create mapping from raw names to categories
HM3D_RAW_TO_CAT_MAPPING = {}
with open("<PATH_TO_HABITAT_SIM>/data/hm3d_semantics/hm3dsem_category_mappings.tsv", "r") as tsv_file:
    tsv_reader = csv.reader(tsv_file, delimiter="\t")
    is_first_row = True
    for row in tsv_reader:
        if is_first_row:
            is_first_row = False
            continue
        orig_raw_name = row[0].strip().lower()
        fixed_raw_name = row[1].strip().lower()
        cat_name = row[2]
        # Override the category name for plant
        if "plant" in fixed_raw_name or "flower" in fixed_raw_name:
            cat_name = "plant"
        HM3D_RAW_TO_CAT_MAPPING[orig_raw_name] = cat_name
        HM3D_RAW_TO_CAT_MAPPING[fixed_raw_name] = cat_name

# For a given raw name, decide whether the object is an ObjectNav goal
GOAL_CATEGORIES = ["chair", "bed", "plant", "toilet", "tv_monitor", "sofa"]
is_goal_object = HM3D_RAW_TO_CAT_MAPPING[given_raw_name.strip().lower()] in GOAL_CATEGORIES

Types of changes

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

Checklist

[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

You'll need to run pre-commit on this.

I ran pre-commit. But it removed tabs and replaced them with spaces, which goes against the definition of the tsv file. How do I prevent this from happening?

Oh, you probably need to add an exclude to the replace tabs pre-commit hook in the pre-commit config.

@srama2512 Just add it to this regex: https://github.com/facebookresearch/habitat-sim/blob/dd1b1ff7aedfe6a109da61f654f0979389b465c2/.pre-commit-config.yaml#L35


use newer apis for PodDisruptionBudget and HorizontalPodAutoscaler (fix 1.25+)

What issues does your PR fix?

fixes #679

What does your PR do?
This PR introduces a new configurable apiVersion field to both PDB and HPA templates to ensure the chart will keep working in Kubernetes v1.25+.
Checklist
For all Pull Requests

[x] Commits are signed off
[x] Commits have semantic messages
[x] Documentation updated
[ ] Passes ct linting

For releasing ONLY

[x] Chart.yaml version bumped
[x] CHANGELOG.md updated

Hey guys,
Any news on this? PodDisruptionBudget has been in known deprecation since 1.21. This is now blocking many peoples cluster upgrades.
@thesuperzapper is there anything we as the community can do to move this along faster?


Feature/dad 18 connect prismic

Types of changes

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

Description

Checklist:

[ ] My change requires an update to the official documentation.
[ ] All TSDoc comments are up-to-date and new ones have been added where necessary.
[ ] All new and existing tests are passing.

Hi @solimer, did you mean to open a Pull Request on this repository?
I'm going to close the PR, but feel free to leave any questions here. 🙂


gnome3.gnome-color-manager: 3.30.0 -> 3.32.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gnome-color-manager/versions.
meta.description for gnome3.gnome-color-manager is: '"A set of graphical utilities for color management to be used in the GNOME desktop"'.

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin/gcm-calibrate had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin/gcm-inspect had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin/gcm-import had a zero exit code or showed the expected version
/nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin/gcm-picker passed the binary check.
Warning: no invocation of /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin/gcm-viewer had a zero exit code or showed the expected version
1 of 5 passed binary check by having a zero exit code.
0 of 5 passed binary check by having the new version present in output.
found 3.32.0 with grep in /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0
directory tree listing: https://gist.github.com/b20b072ab97eedaa24d6815cc3a27cc0
du listing: https://gist.github.com/75c6ddfc6b3332ffdd921fd2543d81ea

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
gnome3.gnome-color-manager
gnome3.gnome-control-center
gnome3.gnome_control_center

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A gnome3.gnome-color-manager https://github.com/r-ryantm/nixpkgs/archive/faefffd3d39253d13ab73fe2b50c08e08933a480.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0
ls -la /nix/store/drm0k7f5lxiln4l3dslvz4csf56c83nb-gnome-color-manager-3.32.0/bin

cc @lethalman @jtojnar @hedning @worldofpeace for testing.

new release see #57027


404 for "this version" url

This url doesn't seem to exist:
https://github.com/vector-of-bool/pitchfork/blob/1f1d16549408dc29dae03fc1a479c93556239112/data/spec.bs#L7
Not sure where it should point though, I don't understand how the spec.bs stuff works.  I thought maybe /pfl.html (f rather than s) but that's not it.  You're 404 page is awesome btw xD

hehe. I added that URL an eternity ago and never really bothered to make sure it actually went anywhere. It may be enough to point it to the w3c Bikeshed rendering of the document?


[Extension Bug] Brew extension produces errors with every command.

@nhojb
Raycast version: 1.25.3
Description
When running any available command, I get an error:
Error: Command failed: brew --prefix
/bin/sh: brew: command not found

/bin/sh: brew: command not found

checkExecSyncError:node:child_process:826:11
execSync:node:child_process:900:15
installed.js:1:308891
Object.<anonymous>:installed.js:1:308934
Module._compile:loader:1101:14
Object.Module._extensions..js:loader:1153:10
Module.load:loader:981:32
Function.Module._load:loader:822:12
Module.require:loader:1005:19
require:helpers:102:18

I'm running Monterey 12.0.1 on an iMac (M1, 2021)
Homebrew was installed using the standard install instructions available on https://brew.sh
My copy of Homebrew lives in "/opt/homebrew/bin/brew" (via "which brew")
It works without issue from the terminal (I use it every day)

Steps To Reproduce

Run "Show Installed"
View the "Something went wrong" screen

The current behavior
Any command blows up.
The expected behavior
It works.

@carpedavid are you using an M1 Mac? This is a known issue on this architecture.
I have a PR pending which should address the issue.

Oh! Yes, that would be the issue. I didn't do an exhaustive enough search to see that you already have a PR out for it. Thanks!

PR is merged now. Please let me know if you continue to have any issues on M1.

It works! Perfect!
——
David Garrett
@.***
https://aboutdave.info
On Nov 4, 2021, 11:53 AM -0400, John Buckley @.***>, wrote:

PR is merged now. Please let me know if you continue to have any issues on M1.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add steps for linking when clasp is unlinked

If the error occurs: bash: clasp: command not found
You can link/unlink with these commands:
Link: sudo npm link .
Unlink: sudo unlink /usr/local/bin/clasp
I need to figure out why linking doesn't happen sometimes.

I haven't seen this error recently, it was probably a local error on my machine.
Global install/uninstall works. Closing.


BIG: design language

Design a "programming language" to specify scripts of partial recursive functions and adapt "list" to produce them and "load" to read them in.

One version now available. Let's see how well it fares.

While I have many ideas on how to improve it, right now it sort of works and, more importantly, the changes could conceivably be developed one at a time. So I resist the horrible temptation of throwing everything away and redoing the whole thing as a TOML dialect, close this issue, and leave to individual issues each individual improvement.


application crashed when changing name

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS Version: [e.g. Windows 10 1903 18362.175]
App version: [v0.11.0]

Additional context
Add any other context about the problem here. Does this problem occur again after restarting the app?
Log file
Please upload the log file here so that we can understand your issue better. You can access it from Settings->About->Open log location. You can also find this file by going to %localappdata%\Packages\49306atecsolution.FilesUWP_et10x9a9vyk8t\LocalState, you should see a file in this directory called debug.txt or/and debug_fulltrust.txt.

Add app version and log files please :)

Add app version and log files please :)

@OlegSolomatin We need a little more information from you in order to investigate this issue, please reopen this issue once you have filled out the issue template.

@OlegSolomatin We need a little more information from you in order to investigate this issue, please reopen this issue once you have filled out the issue template.


Bug with %% snippet from jinja snippets file from vim-snippets

The jinja snippets file from vim-snippets has the following two snippets:
snippet %
	{% ${1} %}
snippet %%
	{% ${1:tag_name} %}
	${0}
	{% end$1 %}

At least with my configuration, typing %% and then the expand_or_jump trigger expands the first snippet and leaves the first percent, when I would expect it to expand the second snippet instead. I did try changing the order of the snippet definitions, no change.

Hi :)
you can manually adjust the priority of a snipmate-snippet by providing the priority-keyword on the line above the definition, so
priority 1000
snippet %
	{% ${1} %}
priority 1001
snippet %%
	{% ${1:tag_name} %}
	${0}
	{% end$1 %}

where 1000 is the default, and 1001 should (IIRC) cause %% to be checked first

Interesting, I'll try this out when I can, thanks!
If it works this should be good as a workaround, but I would expect that the snippets file from vim-snippets would work as expected without needed modification. I guess it's possible that it's an issue with the snippets file itself? Is the behavior what you would expect given the snippets file? If so I could file an issue with vim-snippets.

Mhmmm, I'd have interpreted this as a clear ambiguity, so expanding either of these is equally correct.. Which snippet-engine were you using before that had your expected behaviour? Is there some spec on how snipmate-snippets are to be interpreted?
I'd be open to doing some small modifications, like checking triggers that are longer first for snipmate-sources if it gives us better compatibility, but in general I think it'd be better for the snippet-source to not have such ambiguities.

Hey so sorry I didn't see this until now. I hadn't actually tested this with any other engine, but I assumed that the behavior I get from LuaSnips was not correct since my snippets file was from the vim-snippets plugin, which is mentioned in the README. It does make sense to me for % and %% to be treated as separate snippets by the engine, either by checking length as you suggested or by taking into account the order in the snippets file. I would be willing to check how other engines deal with this case and maybe open an issue with vim-snippets if appropriate, but I'm not sure when I'll have time since school is starting for me shortly.

Oh, no worries :)
If you could check how snipmate behaves, that would be great, I don't think it's a pressing issue (as we have a good workaround), so take your time :)


[Bug] [<IP_ADDRESS>b]: abort hover on link click

What happened?
If you click a link the hover preview is still displayed, but in the left-top corner. This every distracting, as you have to move the mouse the make the preview hide.
When the link is actually clicked the timeout for displaying the hover preview should be aborted.
Reproduction
Click any link.
Last Working Version
<IP_ADDRESS>b it did not have that feature
Version
<IP_ADDRESS>b
Operating System
macOS
Obsidian Version
1.7.7
Which browsers can you reproduce this in?
Safari
Relevant log output
na

Additional Info
No response

Thanks, this is a good catch, I'll fix it :)

This actually seems to be a problem specific to safari, but it works on firefox and chrome. I will try and fix it on safari


Use react bootstrap for basic components

Install and use react bootstrap for basic components:
https://github.com/react-bootstrap/react-bootstrap
Take care to use bootstrap version in sync with bootstrap(-sass?)

Accomplished using boiler plate code.


How to upgrade to 4.x ?

As the 4.x is a major release and no UPGRADE.md file exist in the repo, I was wondering how should we upgrade from the 3.4.0 version ?

Thanks! Added https://github.com/vendia/serverless-express/blob/mainline/UPGRADE.md

Let me know if you have encounter any issues :)

Great, thanks!
We were using that method to speedup warm function:
import serverlessExpress from '@vendia/serverless-express'
import app from 'src/app'
import configureApp from 'src/configureApp'

// global variable server to keep hot in lambda
// server is set at the first call and reused then
let server

export default async (event, context) => {
  if (server) {
    return serverlessExpress.proxy(server, event, context, 'PROMISE').promise
  }

  console.log('Server does not exist')

  try {
    // init dbs connexion, middleware and other stuff
    await configureApp(app)
  } catch (e) {
    console.error(e)
  }

  // other initialization

  server = serverlessExpress.createServer(app)

  return serverlessExpress.proxy(server, event, context, 'PROMISE').promise
}

It looks like it's a bit more complicated now that we can't init the server and pass event & context later?

You should be able to do something like this https://github.com/vendia/serverless-express/issues/351#issuecomment-768096594

It worked. Thanks
I used:
import serverlessExpress from '@vendia/serverless-express'
import app from 'src/app'
import configureApp from 'src/configureApp'

// global variable server to keep hot in lambda
// server is set at the first call and reused then
let server

export default async (event, context) => {
  if (server) {
    return server(event, context)
  }

  console.log('Server does not exist')

  try {
    // init dbs connexion, middleware and other stuff
    await configureApp(app)
  } catch (e) {
    console.error(e)
  }

  // other initialization

  server = serverlessExpress({ app }).handler

  return server(event, context)
}

An other question we do have a lot of debug message now which are quite huge (it killed a chrome tab just to try to view it on Cloudwatch):

How can we disable them?

Ahh good point. Originally this was using Winston and would only log when NODE_ENV === 'development'. I'll get a fix out, but you do also have the option of providing your own log object https://github.com/vendia/serverless-express#log

I've pushed a patch that at least doesn't log debug for production builds. Will get something better in soon to allow setting log.level without needing to specify the other log methods

Thanks, finally used that snippet and it worked as expected!
import serverlessExpress from '@vendia/serverless-express'
import app from 'src/app'
import configureApp from 'src/configureApp'

// global variable server to keep hot in lambda
// server is set at the first call and reused then
let server

export default async (event, context) => {
  if (server) {
    return server(event, context)
  }

  console.log('Server does not exist')

  try {
    // init dbs connexion, middleware and other stuff
    await configureApp(app)
  } catch (e) {
    console.error(e)
  }

  // other initialization

  server = serverlessExpress({ app })

  return server(event, context)
}

@sudhirjena Here is a short version:
import app from './app'

app.set('isProduction', process.env.NODE_ENV === 'prod')
app.set('json spaces', 2)

export default (application) => {
  application.set('app:ready', true)

  return application
}

And app.js:
import express from 'express'

process.env.TZ = 'Europe/Paris'

export default express()


Add memory to node

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Fix for the out-of-memory issue

What is the current behavior? (You can also link to an open issue here)
FATAL ERROR during build

What is the new behavior (if this is a feature change)?
It might be a temporary work-around until the TSC issue will be solved.

Other information:

Thanks!


Added updated images (gif and png) of material rangebar

@wasabeef  can you please review and approve this PR


Write conditionals in Kotlin: Android Basics with Compose

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-compose-conditionals?hl=pt&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-1%3Fhl%3Dpt%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-conditionals#2
In which task and step of the codelab can this issue be found?
At the
Describe the problem
Steps to reproduce?

Go to Language -> Portuguese
Click on Usar uma instrução when para várias ramificações
See error no sétimo ponto, onde fala sobre o else do when

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Hello @visikoW,
Thank you for reaching out to us. The issue is fixed and will be published soon.


Crashes the browser on MacOS when the serial port is overloaded

Using Chrome on MacOS, do something that sends a lot of data, like editing a sample waveform and scrolling it around. This often crashes the browser quite quickly.

Sorry, I thought I had a fix for this by just increasing the serial buffer, but it turns out the serial port is WAY overloaded when scrolling through a sample waveform. I'm looking for other fixes...

I just managed to get a crash within seconds trying this myself. I was running a slightly old firmware version and I've just updated to the current 2.0.4 version. I can't seem to make it happen again now. Do you know a reliable way to cause the crash? Is it just the sample editing screen or have you come across this elsewhere?
This does seem like a bug in Chrome for the entire browser to crash but I'm wondering why it should struggle with the data rate. I don't think it's that high.

I've just pushed some changes which might help with this. The "Bad JPAD frame" messages should be gone now and I've increased the serial buffer size from 512 to 4096.
I've been catching up with the info on Discord and it looks like that buffer is the cause of the crashing so I hoping this will help.

Yeah, Tim said that increasing the serial buffer fixed the problem, but that didn't fix the problem for me. I should have documented which version of firmware I was testing with before, but now with 2.0.4, I haven't been able to reproduce the problem.
I also have my own C# version of the M8 display and it also didn't work with the sample editor before because the serial port was so overloaded, but that works great now too.
I think the changes that really helped fix this problem are:

Fix: Sample editor - Zoomed selection movements was inaccurate and had visual artifacts
Improved: Remote display - only send button presses when they are changed

I know the JPAD messages were coming in 60 times per second and I also noticed lots of drawing artifacts while scrolling in the sample editor before and now both of those are gone. I suspect both of those contributed to somehow overloading the serial port enough to crash the browser.
I need to do one more test using the same 2012 MacBook Air running Chrome where I had the problem originally. If it works there without crashing, I'll mark this as closed.
Thank you for the update!

I was unable to reproduce the crash on my old MacBook Air, so I think a combination of M8 firmware changes and the bigger serial buffer have solved the problem.
With the old MBA, I was able to get some artifacting on the sample editing screen, which I think is an indication that some data was lost, and I even got the M8 web display to stop updating a couple of times. Interestingly, the M8 was still responding to keypresses from the web display, so I could continue changing the start point of the current sample and hear the difference by playing it. I could also transition back to the song screen and start it playing. But this was all done blind since the display wasn't updating.
But, this bug is about the browser crashing and I'm no longer able to reproduce that, so I'll close this.


Introduce support for OPENQASM 2.0;

Summary of changes
This pull request introduces significant refactoring and enhancements to the pyqasm project, including support for OpenQASM 2.0, improved modularization, and new unit tests. The most important changes are the introduction of Qasm2Module, updates to the unroller and validator to support multiple OpenQASM versions, and the addition of unit tests for OpenQASM 2.0 constructs.
Support for OpenQASM 2.0:

pyqasm/elements.py: Introduced Qasm2Module class to handle OpenQASM 2.0 programs, including methods for filtering statements and formatting declarations. This class inherits from the new abstract QasmModule class. [1] [2]
pyqasm/unroller.py: Updated the unroll function to support both OpenQASM 2.0 and 3.0 by dynamically selecting the appropriate module class based on the program version.
pyqasm/validate.py: Updated the validate function similarly to unroll, adding support for version-specific validation.

Modularization and Refactoring:

pyqasm/elements.py: Refactored the Qasm3Module class to inherit from the new abstract QasmModule class, and added abstract methods for unrolled_qasm. [1] [2]
pyqasm/elements.py: Removed the add_classical_bits method from Qasm3Module and moved it to the abstract QasmModule class.

Unit Tests:

tests/qasm2/test_declarations.py: Added new unit tests for OpenQASM 2.0 declarations, including qubit and clbit declarations.
tests/qasm2/test_operations.py: Added new unit tests for OpenQASM 2.0 operations, including whitelisted operations and blacklisted constructs like subroutines and loops.

File Renaming:

Renamed files in the tests directory to better reflect their content and to separate tests for different OpenQASM versions:

tests/declarations/test_classical.py to tests/qasm3/declarations/test_classical.py
tests/subroutines/test_subroutines.py to tests/qasm3/subroutines/test_subroutines.py

These changes enhance the flexibility and maintainability of the codebase, allowing it to support multiple versions of OpenQASM and making it easier to add new features and tests in the future.

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

Files with missing lines
Patch %
Lines

pyqasm/elements.py
96.61%
2 Missing :warning:

pyqasm/unroller.py
80.00%
1 Missing :warning:

pyqasm/validate.py
80.00%
1 Missing :warning:

:loudspeaker: Thoughts on this report? Let us know!


Minor incompatibility with DF chat enhancements

Foundry v10.291
DnD 5e v2.1.4
The chat box has unwanted padding underneath.
Not very knowledgeable with css but it seems this is the one causing it

Disabling that seems to fix it but I'm unsure on what it would happen to the typing indicator.

I don't see this issue.  I can see from that screenshot you have several modules enabled.  Please try again with no modules enabled.

I use DF chat enhancements too and do not have this issue.

Disabling DF chat enhancements or your module fixes the issue. Is there anything I could do to provide more detailed information?

I just tested some more and I can confirm that is probably a setting somewhere. I opened my browser in a separate profile instance and loaded foundry and it seems to work fine. I will investigate what setting is causing it and letting you know.
(Yeah the paper airplane is from DF chat enhancements but I deactivated it and didn't fix it)

Ok, for some reason I though I tested this setting before and it wasn't the problem but I've must have done it wrong since it's 100% the problem setting. Disabling it fixes the issue.
Just to be clear, this still only happens with your mod and this setting enabled so I guess it still worth pointing out. Let me know if you need anything else.

This is due to the send button trying to set the float: right css property, but you can't float things inside a flex container.  CGMP changes the chat-form into a flex container so that it can make the typing notification appear and disappear.
I'm not much of a CSS expert, and I don't really know how to fix this, but it appears to me that this would need to be fixed in the DF Chat Enhancements module, not in CGMP.

Given that DF Chat Enhancements is deprecated, I am closing this issue.


[Feature][Jenkins-Data] Jenkins plugin option to add all the multibranch job to be monitored

Search before asking

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

Use case
The multibranch job is used for github pull requests which will lead for every pull request created will be created on the fly a new pipeline in the multibranch job which will not be included in the data scopes of the related jenkins connection.
Description
No response
Related issues
New pipelines created in the multibranch pipeline will not be added as a data scope in the jenkins connection automatically, they will be required to be inserted manually from the data scope UI of the jenkins connection
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Thanks for the report, however, I'm having trouble understanding the problem since I never used it before, do you have any concrete example of how it works?

Yes, as an example I have a multi branch job in jenkins, which inside It executes multiple separated pipelines, these pipelines are created on demand as we create pull requests in github but the issue related to devlake is that the pipelines that are generated on demand are not triggered automatically by the jenkins connection in devlake, so every time I have to go to the jenkins connection, add the new pipelines and run again the process of recollecting the data from jenkins.
As all of these pipelines pertains to the same multi branch job I think It would be possible to develop a feature that will
recollect data from all the existing pipelines, inclusive the new pipelines generated after the previous recollection of metrics from this multi branch job instead of only recollecting data only from the pipelines that were initially selected when the jenkins connection was defined in the devlake project.
I hope that this explanation solves your doubt about how It works.

@KrPetrovDev Thanks for the comprehensive explanation, I get the idea of it.
However, to evaluate the possible support, we will need a working jenkins server with proper fake data so we can observe how and what the jenkins API offers, would you like to set up one?

@klesh I cannot provide a server but I can provide you with a minimum installation guide which will help you to simulate part of my jenkins environment for PRs and to configure a github repository so Jenkins can communicate with It.
This is the guide where explains how to setup an existing jenkins server:

https://www.youtube.com/watch?v=aDmeeVDrp0o&ab_channel=CloudBeesTV

@Startrekzky Please take a look at this issue, thanks.

Collecting votes

Yes, as an example I have a multi branch job in jenkins, which inside It executes multiple separated pipelines, these pipelines are created on demand as we create pull requests in github but the issue related to devlake is that the pipelines that are generated on demand are not triggered automatically by the jenkins connection in devlake

Hi @KrPetrovDev , may I ask are there any rules for the naming, folder structure, or other patterns of the auto-created Jenkins jobs in the pipelines?
Currently, DevLake needs users to define the data scope with the absolute data scope id before collecting data, which is the Jenkins job path in this case.
@klesh If the on-premise-created Jenkins jobs follow certain rules, I guess the possible solution is to allow users to input a pattern (regex) to define the relative data scope pattern to collect.
Then this issue would be similar to https://github.com/apache/incubator-devlake/issues/5002

The jenkins mulitple branch pipeline is a job that contains multiple subjob and the subjob name is default to branch name or pull request or tags.
see this [https://www.jenkins.io/zh/doc/tutorials/build-a-multibranch-pipeline-project/]

Hi team, do we have any updates regarding this? Is it planned to be implemented?

@sstojak1 I'm sorry that it's still in the backlog, as we haven't come up with a proper solution for this.
Adding Jenkins jobs by this multi-branch pipeline seems like adding a filter to get Jenkins jobs instead of specifying concrete jobs.

Anyone with the necessary knowledge and willing to work on the issue is welcome.

Anyone with the necessary knowledge and willing to work on the issue is welcome.

@klesh I'm new to Devlake but very used to Jenkins and its APIs. I will give this a try.

@gustavobini Fantastic, looking forward to your PR 😊. Feel free to reach out to me on Slack if you need help.


[4.1] [Type checker] Make redeclaration checking validate fewer declarations.

Redeclaration checking was validating all declarations with the same
base name as the given declaration (and in the same general nominal
type), even when it was trivial to determine that the declarations
could not be conflicting. Separate out the easy structural checks
(based on kind, full name, instance vs. non-instance member, etc.) and
perform those first, before validation.
Fixes SR-6558 / rdar://problem/36068194, a case where redeclaration checking caused some
unnecessary recursion in the type checker.

@swift-ci please test


Edit Profile : Have a way to cancel email change

I went to my profile page. https://preview.nuget.org/account/Edit
change my email.
go back to the page.

It looks  like this :
"
Edit Profile
You recently requested to change your email address to<EMAIL_ADDRESS>This change will take effect when you confirm the address. Check your inbox (or spam folder) for an email with a confirmation link.
Email
<EMAIL_ADDRESS>"
not too harmful but there is no way to cancel (get rid of that message) if I don't own that email address unless I change to another address that I own (putting the old one back is ignored), confirm it, then switch back to the old one.

Should this be closed because of ##2230?

Yes! Good catch!


[NEW]:

Please add a new event
# the name of your event
name = "Subsquid & Fuel Tech Brunch"

# shortest possible name (without year)
shortname = "Subsquid & Fuel Tech Brunch"

# type of the event
#  available types (you can choose more):
#   * meetup
#   * conference
#   * hackathon
#   * expo
#   * party
#   * other
types = ["meetup"]

# status of the event
#  available types:
#   * idea
#   * planning
#   * published
status = "published"

# the name of the group organizing the event
org = "Subsquid & Fuel Tech Brunch"

# the github handle of the directly responsible individual for this event
# (this person will coordinate with #bbw24 organizers)
dri = "Subsquid"

# A point of contact (responsible person)
poc = "Roman Kemper"

# the start date of the event
date = "2024-05-15"

# how many days the event lasts (1 - N)
days = 1

# the event times (shows up in the event card)
times = "10:00-1:00pm"

# Link to venues from the Places table - use this OR enter venueName, venueUrl and venueAddress
# venues = ["gabriel-loci"]

# the event venue name
venueName = "NEST Schank- und Speisewirtschaft
"

# link to the venue on open-street maps
venueUrl = "https://nominatim.openstreetmap.org/ui/search.html?q=G%C3%B6rlitzer+Str.+52%2C+10997+Berlin"

# the event venue address
venueAddress = "Görlitzer Str. 52, 10997 Berlin"

# the languages in which the event will take place (you can choose more)
languages = ["english"]

# the max number of attendees of the event
attendees = 80

# blockchains that the event deals with
# if it is an interchain event, then leave blank
chains = [ "polkadot"]

# tags for the event, will show up as labels.
# pick 1-4
tags = ["subsquid, "decentralization" "L2"]

# A logo attachment
logo = "[logo.png](https://ibb.co/f2bf05H)"

# a description of the event.
description = """
GM cryptopunks and decentralization enjoyooors.

We're already a few days through blockchain week... it's probably time for a refuel!

Join us for a reset with us, at the Fuel x Subsquid Tech Brunch.

Why join?
- There will be croissants & breakfast buffet
- Plenty of liquidity, including Club Mate, the go-to drink for real Berliners, or those aspiring to be
- Crypto dev insights straight from the source

Talk by [David Mihal](https://twitter.com/dmihal), Senior Architect @ Fuel

Light-contracts - Understanding Fuel's Predicates
The Fuel L2 features a new primitive, known as "predicates". Learn how predicates differ from "smart contracts", and how to use them to build account-abstraction wallets, DeFi apps, and more!

Sounds good? Then sign up and see you soon.
"""

[cfp]
# link to call for particioation
link = "https://example.com/speaker"

[registration]
# type of registration
#  Possible values:
#   * tickets
#   * invites
#   * signup
type = "signup"

# price of the ticket
price = "0 EUR"

# link to the registration or ticket purchase page
link = "https://lu.ma/q7kr9if2"

# custom action button label
#button = "Reserve your spot!"

# status of registrations
#  Possible values:
#   * available
#   * sold-out
#   * closed
status = "available"

[links]
# the website of the event
# make sure to have all the relevant information: dates, venue, program, ticketing (if any), etc.
web = "https://lu.ma/q7kr9if2/"

# twitter account
twitter = "https://twitter.com/subsquid"

# public matrix channel
matrix = "https://matrix.to/#/!example:example.org"

# public telegram group
telegram = "https://t.me/example"

# docs
#docs = "https://example.org/docs"

# discord
discord = "https://discord.com/invite/AsDf1337"

Your event is live :) https://blockchainweek.berlin/24 please check if everything's correct


avoid renames proxies in forward trace during grad transform

With side branch (#1027 dynamic shape)
test_grad.py::test_update_forward_with_new_saved_for_backward_numberproxy_nvfuser_cuda_None
generates forward trace:
@torch.no_grad()
@no_autocast
def augmented_forward_fn(a, i0, i1, b):
  # a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRA
INT.CONSTRAINABLE]]"
  # i0: "int 2"
  # i1: "int 2"
  # b: "float 3.0"
  t4 = ltorch.mul(a, b)  # t4: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
    # b0 = prims.eq(i1, 1)  # b0: "bool False"
    # b1 = prims.eq(i1, i1)  # b1: "bool True"
    # b2 = prims.eq(i0, 1)  # b2: "bool False"
    # b3 = prims.eq(i0, i0)  # b3: "bool True"
    # t4 = prims.mul(a, b)  # t4: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  return ({'output': t4, 'flat_args': [a, i0, i1, b], 'flat_output': (t4,)}, (((a, b), None, ([b],)),))

Without the change, forward trace will be constructed as
@torch.no_grad()
@no_autocast
def augmented_forward_fn(a, i0, i1, b):
  # a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  # i4: "int 2"
  # i5: "int 2"
  # b: "float 3.0"
  t10 = ltorch.mul(a, b)  # t10: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
    # b6 = prims.eq(i1, 1)  # b6: "bool False"
    # b7 = prims.eq(i1, i1)  # b7: "bool True"
    # b8 = prims.eq(i0, 1)  # b8: "bool False"
    # b9 = prims.eq(i0, i0)  # b9: "bool True"
    # t10 = prims.mul(a, b)  # t10: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy nam
e=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  return ({'output': t10, 'flat_args': [a, i4, i5, b], 'flat_output': (t10,)}, (((a, b), None, ([b],)),))

giving me an error on undefined proxy i4 (and i5 here as well)

I don't think it's a correct fix, it only masks the problem.
There are name clashes for symbolic integers on the shape of the tensor a which are named i0 and i1 and at the same time there are i0 and i1 arguments to the function.
The signature for this function is <Signature (a, i0, i1, b)> and it should be used as the basis for naming input proxies here:
https://github.com/Lightning-AI/lightning-thunder/blob/912fd01b73697ea8a8dcf9d11f62dbe590e288e9/thunder/common.py#L311-L315
TensorProxy a shouldn't use i0 and i1 as its integer dimension names because these names should be used for function inputs.

I don't think it's a correct fix, it only masks the problem.
There are name clashes for symbolic integers on the shape of the tensor a which are named i0 and i1 and at the same time there are i0 and i1 arguments to the function.
The signature for this function is <Signature (a, i0, i1, b)> and it should be used as the basis for naming input proxies here:
https://github.com/Lightning-AI/lightning-thunder/blob/912fd01b73697ea8a8dcf9d11f62dbe590e288e9/thunder/common.py#L311-L315
TensorProxy a shouldn't use i0 and i1 as its integer dimension names because these names should be used for function inputs.

There are name clashes for symbolic integers on the shape of the tensor a which are named i0 and i1 and at the same time there are i0 and i1 arguments to the function.

Sorry for the lack of context here. Those are not name clashes and they are indeed the same number proxy.
I should have included the prologue as well, which has:
        prologue:
 import thunder
import thunder.core.prims as prims
import torch
from thunder.executors.torchex import no_autocast

@torch.no_grad()
@no_autocast
def prologue(*args, **kwargs):
  # args: "Any"
  prims.check_len(args, 2)
  # kwargs: "Any"
  prims.check_len(kwargs, 0)
  b: "float 3.0" = args[1]
  a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]" = args[0]
  obj: "Any" = a.shape
  i1: "int 2" = obj[1]
  i0: "int 2" = obj[0]
  # ...
  return ((a, i0, i1, b), ())

whether or not we think that prologue is the right behavior probably deserves its own thread for discussion and I'm happy to go through that as well.
Back to the old question, why do we want to rename proxies during forward trace in the first place?

@jjsjann123 We do have that sometimes thunder happens to re-use the tensor proxies between prologue and compute, or that they have the same name, but this should not relied upon (and the re-use is not that happy a thing). Is that what causes the problem?
We can rely on prologue_output[0][i] being fed into computation_trace.args[i] but that is about it.
I think the renaming might be part preparation for a revision of how forward and backward interact (though I'm not sure).

thunder happens to re-use the tensor proxies between prologue and compute, or that they have the same name, but this should not relied upon (and the re-use is not that happy a thing)

That's super interesting. I'm wondering if that's considered a bug when thunder trace messes up the names... And the renaming is just covering that.
  a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]" = args[0]
  obj: "Any" = a.shape
  i1: "int 2" = obj[1]
  i0: "int 2" = obj[0]
  # ...
  return ((a, i0, i1, b), ())

Anyway, the issue here is that I'm passing both i0, i1 and a as input to the compute trace and the renaming kicks in to rename the unpacking, but not the signature or uses. This is the trace I'm seeing without the changes. Looks like the renaming isn't doing the right thing neither. i.e. I would expect the rename to change both the unpack, as well as the signature.
@torch.no_grad()
@no_autocast
def augmented_forward_fn(a, i0, i1, b):
  # a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  # i4: "int 2"
  # i5: "int 2"
  # b: "float 3.0"
  t10 = ltorch.mul(a, b)  # t10: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
    # b6 = prims.eq(i1, 1)  # b6: "bool False"
    # b7 = prims.eq(i1, i1)  # b7: "bool True"
    # b8 = prims.eq(i0, 1)  # b8: "bool False"
    # b9 = prims.eq(i0, i0)  # b9: "bool True"
    # t10 = prims.mul(a, b)  # t10: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy nam
e=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  return ({'output': t10, 'flat_args': [a, i4, i5, b], 'flat_output': (t10,)}, (((a, b), None, ([b],)),))

But sounds like the philosophy is that we don't want duplicated input in the signature in the first place. i0, i1 is passed in as direct argument, as well as a field in a. But I actually think that's exactly what's needed. Since unpacking is supposed to be done in prologue trace?!

def augmented_forward_fn(a, i0, i1, b):
  # a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  # i4: "int 2"
  # i5: "int 2"
...

this is clearly broken, but if i0 and i1 were also replaced by i4 and i5.

def augmented_forward_fn(a, i0, i1, b):
  # a: "cuda:0 f32[[IntegerProxy name=i0, value=2, static=CONSTRAINT.CONSTRAINABLE], [IntegerProxy name=i1, value=2, static=CONSTRAINT.CONSTRAINABLE]]"
  # i4: "int 2"
  # i5: "int 2"
...

this is clearly broken, but if i0 and i1 were also replaced by i4 and i5 it would be fine even if they're i0 and i1 in the prologue.

I'm not sure what is expected for a.shape though. i.e. are we expecting the renaming to also reflect that as well?
i.e. a.shape was [i0, i1] before the renaming, and if we are updating the args to i4/i5 respectively, we should also update the corresponding TensorProxy.shape. Which leaves me wonder, what is the use of passing them in as arguments to compute trace.
I think I'm going to change it to not passing the unpacked shape entries to compute trace for now. So the unpack would happen in compute trace directly. I think this is less intrusive to existing code. Closing this PR for now.
@mruberry might have a stronger opinion on this, I'll open an issue to discuss that on the side. Happy to revisit this decision.

We do have that sometimes thunder happens to re-use the tensor proxies between prologue and compute, or that they have the same name

On a side note. Disabling the renaming didn't break any existing test. So this is a coverage issue that we should put a test to catch. Otherwise, it's hard to make an argument on justifying this as a necessary thing.


Is Microsoft Flow will Support AX 2012 R3 Approvals Workflows?

Is Microsoft Flow will Support AX 2012 R3 Approvals Workflows?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bef9aec0-035e-2504-a62b-bf76ecb5173c
Version Independent ID: 590e2151-3215-7d76-00ac-8894ebe8d64d
Content: Migrate from the Azure Access Control service
Content Source: articles/active-directory/develop/active-directory-acs-migration.md
Service: active-directory
GitHub Login: @CelesteDG
Microsoft Alias: celested

@UmeshPandit Thanks for your feedback! We will investigate and update as appropriate.

@UmeshPandit Which document section you are referring to ? I do not see this related to Azure AD ?  Please let me know the document which are referring to ?

@UmeshPandit We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Fix injection of widget visibility mock

When using the axVisibility service in a widget the spec tests fail because of the visibility mock.

Fixed on master (v2.0.0)


Change frontend design of Search page

Change the filter option.
I.e. remove funnel and add Reddit like option to toggle between 4 options.

Done and in development


dose not work with kali on asus laptop and also on surface pro 9, please solve problems and update your program

Please describe the issue in as much detail as possible, including any errors and traces.
If your issue is a camera issue, be sure to also post the image generated by running sudo howdy snapshot.
dose not work with kali on asus laptop and also on surface pro 9, please solve problems and update your program

I've searched for similar issues already, and my issue has not been reported yet.
Linux distribution (if applicable):
Howdy version (sudo howdy version):

please update your program please ....

How does it not work? Are you seeing any error messages?

This is not how you write an issue report, contributors can't magically know what's wrong for you


Initial version for node and winston

Initial version for node and winston
Resolves ENG-4409

This change is

client/package-lock.json line 1 at r1 (raw file):
Previously, sepatel (Ryba) wrote…
Lets exclude/.gitignore all package-lock.json and node_modules as well

I don't think we should ignore package-lock.json.  Point is we want the software to work, may not work if user installs different versions of libraries.

client/package-lock.json line 1 at r1 (raw file):
Previously, BradPlayerZero (Brad Morris) wrote…
I don't think we should ignore package-lock.json.  Point is we want the software to work, may not work if user installs different versions of libraries.

As agreed, I'll put package-lock.json in the .gitignore


Add internal features to protect all apps or restore default protections

Task/Issue URL: https://app.asana.com/0/488551667048375/1202290988165066/f
Description
This PR adds couple internal options in the "AppTP dev settings" to:

protect all apps
restore default protections

To keep the PR simple as this is convenience internal feature for testing, the following limitations/cases are not tackled:

when protecting or restoring protections the screen may flicker a bit, this is because we automatically restart the VPN for the config changes to take affect, and the Internal settings activity has a banner that appears when VPN is OFF and goes away when OFF
Protect all apps option has no effect on Games. This is because games are detected at runtime
If the user unprotects an app that is not in the exclusion list, clicking on Protect all apps will not undo this change

This is becasue the implementation purposely compares the (remote) exclusion list with the (manual) overrides and not the state of the installed apps
The user will have to first restore defaults and then protect all apps

Steps to test this PR
Protect all apps / restore default protections

[ ] fresh install from this branch
[ ] enable AppTP
[ ] go to settings -> AppTP dev settings
[ ] In APP PROTECTIONS section
[ ] verify protect all apps is enabled and restore default protections is disabled
[ ] click on protect all apps
[ ] verify VPN is restart, protect all apps becomes disabled and restore default protections becomes enabled
[ ] verify the vpn_app_tracker_manual_exclusion_list db table in the vpn.db db should contain all package IDs of the vpn_app_tracker_exclusion_list db table set to 1
[ ] click on restore default protections
[ ] verify the vpn_app_tracker_manual_exclusion_list is cleared, VPN restarts, protect all apps becomes enabled and restore default protections becomes disabled
[ ]

Current dependencies on/for this PR:

develop

PR #1948   👈

This comment was auto-generated by Graphite.


[SPARK-21007][SQL]Add  SQL function - RIGHT && LEFT

What changes were proposed in this pull request?
Add  SQL function - RIGHT && LEFT, same as MySQL:
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_right
How was this patch tested?
unit test

Can one of the admins verify this patch?

ok to test

jenkins add to whitelist

Test build #77824 has started for PR 18228 at commit e227528.

Test build #77824 has finished for PR 18228 at commit e227528.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)

Merged build finished. Test PASSed.

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

Are these ANSI SQL functions? If it is just some esoteric MySQL function I don't think we should add them.

Both of mysql and SQL server  support these two functions, oracle don't support these functions.

@gatorsmile @ueshin Could you help me to  decide whether we should add this two functions

Test build #78090 has started for PR 18228 at commit 2136c1b.

Test build #78090 has finished for PR 18228 at commit 2136c1b.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)

Merged build finished. Test PASSed.

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

Test build #78422 has started for PR 18228 at commit fca984d.

Test build #78422 has finished for PR 18228 at commit fca984d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)
case class Left(str: Expression, len: Expression)

Merged build finished. Test PASSed.

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

Test build #78437 has started for PR 18228 at commit 9b85478.

Test build #78437 has finished for PR 18228 at commit 9b85478.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)
case class Left(str: Expression, len: Expression)

Merged build finished. Test PASSed.

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

As we already have substring, do we still need them?

Substring is the most commonly used as left and right, and i think using these form is  more friendly for users.
Also mysql and SQL server support these two functions  and Substring  @viirya

@cloud-fan Could you help to review it? thanks

@gatorsmile Thanks
I have tested in mysql:
mysql> select right("sparksql",null);
+------------------------+
| right("sparksql",null) |
+------------------------+
| NULL                   |
+------------------------+
mysql> select right("sparksql",0);
+---------------------+
| right("sparksql",0) |
+---------------------+
|                     |
+---------------------+
mysql> select right("sparksql",-2);
+----------------------+
| right("sparksql",-2) |
+----------------------+
|                      |
+----------------------+
mysql> select right("sparksql",2);
+---------------------+
| right("sparksql",2) |
+---------------------+
| ql                  |
+---------------------+
mysql> select left("sparksql",null);
+-----------------------+
| left("sparksql",null) |
+-----------------------+
| NULL                  |
+-----------------------+
mysql> select left("sparksql",0);
+--------------------+
| left("sparksql",0) |
+--------------------+
|                    |
+--------------------+
mysql> select left("sparksql",-2);
+---------------------+
| left("sparksql",-2) |
+---------------------+
|                     |
+---------------------+
mysql> select left("sparksql",2);
+--------------------+
| left("sparksql",2) |
+--------------------+
| sp                 |
+--------------------+

Test build #79432 has started for PR 18228 at commit 2eb4d0f.

Test build #79432 has finished for PR 18228 at commit 2eb4d0f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)
case class Left(str: Expression, len: Expression)

Merged build finished. Test PASSed.

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

Test build #79456 has started for PR 18228 at commit 4a7941e.

Test build #79456 has finished for PR 18228 at commit 4a7941e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression)
case class Left(str: Expression, len: Expression, child: Expression)

Merged build finished. Test PASSed.

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

Test build #79510 has started for PR 18228 at commit fa81e44.

Test build #79511 has started for PR 18228 at commit 1cb0448.

Test build #79510 has finished for PR 18228 at commit fa81e44.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression)
case class Left(str: Expression, len: Expression, child: Expression)

Merged build finished. Test PASSed.

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

Test build #79511 has finished for PR 18228 at commit 1cb0448.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable

Merged build finished. Test PASSed.

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

Test build #79518 has started for PR 18228 at commit 529417f.

Test build #79518 has finished for PR 18228 at commit 529417f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable

Merged build finished. Test PASSed.

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

Test build #79548 has started for PR 18228 at commit b75b6ac.

Test build #79548 has finished for PR 18228 at commit b75b6ac.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable

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

Merged build finished. Test PASSed.

Test build #79550 has started for PR 18228 at commit 991bf99.

Test build #79550 has finished for PR 18228 at commit 991bf99.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable

Merged build finished. Test FAILed.

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

retest this please

Test build #79551 has started for PR 18228 at commit 991bf99.

Test build #79551 has finished for PR 18228 at commit 991bf99.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable

Merged build finished. Test PASSed.

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

LGTM, merging to master!


pollAuthStatus doesn't seem to retry auth on ErrSlowDown

Describe the bug
If the user gets the slow down error on Github Auth the polling should retry. Atm the modal stays open and no further request seems to go through (please see attached).

Environment

gitops: latest version of main
Browser: chrome 94

To Reproduce
Steps to reproduce the behavior:

Start ui and go to application detail
In the commits sections authenticate with Github.
At times a slow down error would appear.

Expected behavior
Following the slow down error we should resend the auth request without user input.
Additional context
Tagging @foot also. He was suggesting that this might also be due to us removing the token multiple times from the local storage as we test the auth flow. Looking forward to your thoughts!

We DO handle it here, but in the case of the UI, the browser is doing the polling to avoid a long hanging request:
https://github.com/weaveworks/weave-gitops/blob/62104e643e1b1f8d4796a1f6b17da491a0a5a968/pkg/services/auth/github.go#L176


[latest] Block "non-sane" post content

Is your feature request related to a problem? Please describe.
The server currently allow for "non-sane" post content, such as heaps of new lines or no characters.
Describe the solution you'd like
Block "non-sane" post content.

This should be closed as the server already has this feature.

I think this has been resolved.


Update index.md

@gldraphael thanks for catching that, fixed here.

Perfect!

@gldraphael  thanks for bringing this to our attention and helping us get it documented.


After taking a photo, using the file path to display the photo, by setting it into the src tag.
What does actually happen?
The image display is broken and the console is showing, the only method i can display a photo right now, is to use the base64 DATA_URL method, but i would like to displaying using the file path.
Not allowed to load local resource:
The file path is as such:
file:///data/user/0/com.abc123.abc123app/cache/1630904187041.jpg
Command or Code
navigator.camera.getPicture(onPhotoDataSuccess, onFail, {
quality: 100,
targetWidth: 1000,
targetHeight: 1330,
destinationType: Camera.DestinationType.NATIVE_URI,
saveToPhotoAlbum: true,
correctOrientation: true
});
// also tested with FILE_URI, and all possible setting for destinationType, and it does return the correct file path, but the file path isnt allowed to be displayed....and showing the not allowed to load local resource error...does it have something to do with Google changing the location for secure storage?
function onPhotoDataSuccess(imageURI) {
console.log(imageURI);
var cameraImage = document.getElementById('image');
cameraImage.src = imageURI;
}
function onFail(message) {
console.log(message);
}
Building on:
Cordova Android 10.0.1
Camera plugin version 6.0.0
Testing on:
Samsung s10e
Thanks
Clark

I have the same problem

I have the same problem

Do we know if it has anything to do with the google changing secure storage location?
I have no idea what is the causes for this.

use Base64-encoded
navigator.camera.getPicture(onSuccess, onFail, { quality: 25,
destinationType: Camera.DestinationType.DATA_URL
});
function onSuccess(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}

Base64 has provided us with a number of different issues in the past, we have found the file route to be more reliable - interested to understand the optimum solution from the internal team given the Cordova Android release deemed the storage as "Insecure". (ref: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html)

ionic cordova plugins rm cordova-plugin-ionic-webview
ionic cordova plugins add<EMAIL_ADDRESS>cordova clean android
it worked for me

Seems crazy to me this is a year old and still no real solution provided.  As mentioned by @JonSmart we used to use Base64 data URIs and it made our app unstable and buggy because of memory pressure; the OS would just kill us.  Using files in storage provided us a ton of stability.  The docs for this plugin still indicate it should work but there's a ton of internet noise out there about people with this issue.  Seems to be 100% related to changes in Android permission changes.  I've updated to Cordova 11, updated to Android platform 11, I've switch to a direct github release of some plugins advised in various internet corners, etc.  Nothing seems to work - I'm quite surprised after a year.  I would assume taking a photo is a pretty core concept in a lot of Cordova apps ... whats going on here?

@jriffel I think the conversation did continue here https://github.com/apache/cordova-plugin-file/issues/426
Then it continued here https://github.com/apache/cordova-plugin-file/pull/513
I think there is a fix for it??? Havent tried it out yet. Have a look.

I was able to finally get a solution together that works for our use case.  As previously mentioned using Data URIs works but then you are hauling around huge strings in your app.  This made our app unstable and often terminated (I suspect due to memory pressure if someone captured a lot of photos).  We require a FileEntry object to upload to the back end server so we do not have to hold the media in memory.  However, we used to be able to use a file:// URI or similar to display a thumbnail and this is where we were getting the "Not allowed to load local resource" error.  The following example code is roughly how we solved it where we use the request a file URI, convert it to a FileEntry (which we store a reference to for sending), and then get a data URI for the thumbnail.  I hope this helps others.
`var cameraOptions = {
destinationType: Camera.DestinationType.FILE_URI,
encodingType : Camera.EncodingType.JPEG,
correctOrientation: true,
sourceType: Camera.PictureSourceType.CAMERA
}
navigator.camera.getPicture(
function(imageURI) {
resolveLocalFileSystemURL(imageURI, function(fileEntry) {
// fileEntry is usable for uploading without holding image in memory...
fileEntry.file(function(file) {
  var reader = new FileReader();

  reader.onloadend = function() {
    // this.result contains the Data URI usable as a preview thumbnail
    $('#some-image-id').attr('src', this.result);
  }

  reader.readAsDataURL(file);
}, errHandler);

}, errHandler);
}, errHandler, cameraOptions);
`

Thank you @jriffel and yes, the webview has a max amount of assigned memories size, i believe that includes all the info in the local and session storage, and the app will close itself soon as the max memory limit is reached.

Try adding this to your config.xml file:

See here: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
(then I removed and re-added platform android)
It worked for me.

Hi, I am also facing this issue when using IOS version 14.4. Are there any solutions for it?

Try adding this to your config.xml file:
<preference name="AndroidInsecureFileModeEnabled" value="true" />
See here: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
(then I removed and re-added platform android) It worked for me.

Thank you so much!
I recently updated to the latest version of Cordova and it broke my code - whereby it now says 'Not allowed to load local resource' when trying to display a local image and your answer (adding the extra line to config) fixes it 😁

Try adding this to your config.xml file:
<preference name="AndroidInsecureFileModeEnabled" value="true" />
See here: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
(then I removed and re-added platform android) It worked for me.

What do you mean "removed and re-added"?
I tried cordova platform remove android && cordova platform add android after modifying config.xml, but it didn't work - still getting that "Not allowed to load local resource" error. Am I doing it wrong? cordova-android ^10.1.2

Try adding this to your config.xml file:
<preference name="AndroidInsecureFileModeEnabled" value="true" />
See here: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
(then I removed and re-added platform android) It worked for me.

What do you mean "removed and re-added"?
I tried cordova platform remove android && cordova platform add android after modifying config.xml, but it didn't work - still getting that "Not allowed to load local resource" error. Am I doing it wrong? cordova-android ^10.1.2

I believe he means the same as you did (to remove and re-add the android platform via Cordova CLI).
I would expect you just need to make sure that the '<preference ... ' line is present in the project root config.xml and then use the command 'cordova prepare' then you should then see it added automatically to the Android config.xml file within the android project (platforms > android > app > src > main > res > xml > config.xml). If you can see it there you can then build the project ('Cordova build') and it should work.
Personally I use a combination of Cordova CLI and Android Studio, so I manually added the '<preference ...' line into the config file within ('project name' > platforms > android > app > src > main > res > xml > config.xml) then used Android Studio to 'clean' and 'rebuild' the project. ('Cordova Prepare' and 'Cordova Build' commands would do the same sort of thing).


Add jump to gem source code using Tapioca annotations

After adding gem source locations to RBIs generated by Tapioca in https://github.com/Shopify/tapioca/pull/1025, we can allow jumping to those locations through the document link request.
Documentation related functionality for document link will be implemented separately in #58.

I think this can be closed via #195


Enabling required reviews on pull requests

Do after #12

Added ✅
Here are the main branch protection rules, for future ref:

Note we don't enable branch protection on the GitHub pages branch used for helm repo indexing, because helm/chart-releaser-action force-pushes to keep things fully automated: https://github.com/helm/chart-releaser-action/blob/97237943efb7a48269d47a642ec5fdff675aa55f/cr.sh#L235

Could we include please admistrators?

@Xtigyro done ✅


feat: migrate to Karpenter OCI repo

Hi 👋
Karpenter migrated to an OCI registry in v0.17.0: https://karpenter.sh/v0.19.3/upgrade-guide/#upgrading-to-v0170
CDK supports OCI charts<EMAIL_ADDRESS>This PR moves to the OCI chart registry to enable users to get recent Karpenter versions.
Any feedback appreciated,
Tim.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

I took the opportunity to update the IAM policy to reflect the latest release. See:

https://github.com/aws/karpenter/blob/590f2975ccb107fc316121490866d624bf4ad6de/website/content/en/v0.22.0/getting-started/getting-started-with-eksctl/cloudformation.yaml#L40-L75

I left the SQS related permissions and resources out.

Abandoning in favour of internal constructs and stacks library. Feel free to borrow bits from it :)


Device: Set update lock

Connects-to: #635
Change-type: minor

Let's also title the commit with something like Add device lock override methods.

The tests for the new methods do pass but the test suit times out on both travis & appveyor.
Merging as an admin.


[PDI-19140] Problems in Delete Files and Get Subfolder Names steps wh…

…en using S3
@smmribeiro @bcostahitachivantara

:white_check_mark: Build finished in 28m 57s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3882, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 29m 40s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3882, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 30m 49s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 5073, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 32m 19s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 5073, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


deps: update cel-cpp to the latest

Commit Message: update to the latest commit on cel-cpp
Additional Description: needs protoc >=22, adding a patch temporarily until protobuf update merges to convert to strings from string_views.
Risk Level: low
Testing: regression
Docs Changes: none
Release Notes: none

Windows builds needs msvc >= 1930 due to https://github.com/abseil/abseil-cpp/blob/master/absl/time/time.h#L172.

/wait


Add more file storage share operations

Hi @enieuw, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@enieuw, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

@enieuw can you please write tests in file_test.go for these?

@ahmetalpbalkan @garimakhulbe I've updated the PR with your suggestions.
One test does seem to be failing because the environment the tests are run against isn't empty. The StorageFileSuite. TestListShares creates a share and then uses ListShares to verify if the share was actually created but in the travis build it detects two more shares which are not created from the unit tests causing it to fail. The tests run fine if I run them on an empty storage account. Can you remove the shares from the storage account used for tests?

@enieuw I have removed the extra shares. Can you start build again?

@garimakhulbe Please don't do such manual tasks. That's not the right way to fix this.
@enieuw Tests should be cleaning up the test shares before the file storage test suite starts. We have code doing this in blob_test.go. You can take a look and copy it from there.

@ahmetalpbalkan Do you want me to remove all existing shares before starting the unit tests? That seems rather odd to me as I assumed every run of the testsuite would get a fresh storage account.  Blindly removing all shares seems rather dangerous to me because if a user that isn't aware of this fact runs the tests on an existing storage account they might nuke data left on shares.
I've modified the unit tests to make use of the prefix functionality to filter out any shares not created by the tests. This will ensure no user data gets deleted and will clean up any dangling shares that might have been left after an interrupted run.

@enieuw Removing test shares might affect parallel running travis builds else its fine since its a test account. prefix option seems fine to me.

Thanks for your contribution.


Clarify the default value for the renewBefore field

What this PR does / why we need it:
As requested in the #cert-manager slack channel, add documentation for the default renewBefore field to the API docs
Fixes #3734
Release note:

NONE

/kind documentation
/area api

While it would make more sense to have the constants documented on the website, the tool we use currently doesn't support it.
/cc @munnerz

/retest