updated registry.json

Updated registry.json to include DD install with flag

@stephen-turner I included an example. PLMK if I should update it to a different one

Was drafting the suggestions locally while reviewing and opened a PR against your branch (if you merge that one, those changes will appear in this PR); https://github.com/jerae-duffin/docker.github.io/pull/1
Before:

After:


Why vscode update automatically without inform me?

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.60.1
OS Version: Window 10

Steps to Reproduce:

Vs Code was updated to the latest version without even asking my permission?
This is scary. How to avoid this?

@lawweiliang It is because you have set automatic updates on. 🤷♂

@lawweiliang Try changing that value in settings to off.

@TarunavBA
My is default, I did not modified any automatic updates. Is default mean automatic update?

@lawweiliang Click on that drop-down and you can see off option, click on that.

@TarunavBA
In another word, automatic update is on by default, can I say so?
Hmm, I need to inform my buddy about this.


Further clarification on partitioning Premium tier

As you know SessionId can be used to partition a topic or queue. The first bullet point in "Partitioned entities limitations" section of this article reads as "Partitioned queues and topics are not supported in the Premium messaging tier.". The pricing table available at https://azure.microsoft.com/en-ca/pricing/details/service-bus/ indicates that Sessions are supported in Premium tier too. To me me it implies partitioning by session support. Is there a point that I'm missing in comparing these two concepts or the document needs to be updated to clarify this confusion.

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

ID: 14b28704-f660-c413-a0fe-cb1d469fe35c
Version Independent ID: 403df162-e673-527f-8e72-8abf43d8b5cc
Content: Create partitioned Azure Service Bus queues and topics
Content Source: articles/service-bus-messaging/service-bus-partitioning.md
Service: service-bus-messaging
GitHub Login: @sethmanheim
Microsoft Alias: sethm

Thanks for the feedback @Arash-Sabet ! I have assigned the issue to the content author to evaluate and update as appropriate.

Thanks for pointing out the discrepancy. We'll work to clarify the documentation.
To answer your question -
Sessions are created/managed by setting the SessionId. For more information refer this article
The confusion was probably because of the Partitions Queues and Topics article. What we're saying here is that SessionId is the required parameter. If you wish to use partitions as well, then the PartitionId must be equal to the SessionId

@axisc
Explanations for SessionID and PartitionKey are clear to me in this section:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-partitioning#use-of-partition-keys
Does it make sense to add the bolded statement?
Partitioned queues and topics are not supported in the Premium messaging tier. However, sessions are supported in the Premier tier.
@Arash-Sabet - please let me know what you think too. Thanks.

perhaps help to mention that 'sessions are supported in the Premium tier, using SessionId' to resolve confusion.

@Arash-Sabet We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


Fix Error

(4/4) ErrorException
Method raw does not exist. When I don't have: use Spatie\Menu\Laravel\Html; in config/menu.php
(4/4) ErrorException
Class 'Link' not found . When I don't have: use Spatie\Menu\Laravel\Link; in config/menu.php

Description
Use in config/menu.php:
use Spatie\Menu\Laravel\Html;
use Spatie\Menu\Laravel\Link;
Motivation and context
(4/4) ErrorException
Method raw does not exist. When I don't have: use Spatie\Menu\Laravel\Html;
(4/4) ErrorException
Class 'Link' not found . When I don't have: use Spatie\Menu\Laravel\Link;
How has this been tested?
Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc.
Screenshots (if appropriate)
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[x] 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:
Go over all the following points, and put an x in all the boxes that apply.
Please, please, please, don't send your pull request until all of the boxes are ticked. Once your pull request is created, it will trigger a build on our continuous integration server to make sure your tests and code style pass.

[ ] I have read the CONTRIBUTING document.
[ ] My pull request addresses exactly one patch/feature.
[ ] I have created a branch for this patch/feature.
[ ] Each individual commit in the pull request is meaningful.
[ ] I have added tests to cover my changes.
[ ] If my change requires a change to the documentation, I have updated it accordingly.

If you're unsure about any of these, don't hesitate to ask. We're here to help!

Thanks!


SDK: Implement LNUrl auth

curious how do you expect this to work?

It will simply do LNURL-auth as a client against a LNURL-auth endpoint, similar to how you would use BlueWallet to login to StackerNews.
Haven't looked into domain mapping yet.


Fixed bug where Timestamps were returned uninitialized after unmarshalling

Also removed redundancy in Parse.

@tomsteele Are there any plans to merge this? I'm looking to use this for a project and would nice to be able to use this version instead of a fork

Looking at it now.


Add Graph Algorithms in a new folder

Add graph traversal algorithms by making a new folder in the root directory of the repository

Can i take up this issue?

Sure You can take up this issue make sure you properly name your programs like "depth_first_traversal.cpp" and also include comments and assumptions.

I would like to work on it. Can I take up this issue?


⚠ Bofrost.de has degraded performance

In ac0f3ce, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1700 ms

Resolved: Bofrost.de performance has improved in 050a4b6 after 311 days, 4 hours, 42 minutes.


Error when calling SymbolsOutline

NVIM-version: NVIM v0.5.0-dev+1384-gf2906a466
Using latest version of symbols-outline.nvim
Calling SymbolsOutline in a PHP file throws the following error:
Error executing vim.schedule lua callback: .../packer/opt/symbols-outline.nvim/lua/symbols-outline.lua:188: Failed to rename buffer
SymbolsOutline works fine in lua files.

Does this happen with all php files?

Almost all php files. It has only worked with one php file so far. Though I do not see any reasons to why that file worked.

I've observed this also. I'm using intelephense as the language server in particular.

Seems to work fine on https://github.com/banago/simple-php-website, can you guys give me an example project where its broken? Also make sure youre on the latest neovim version

I managed to reproduce the error using a php file with this content.
<?php
class Hello {
    protected $data;

    public function test() {
    }
}

However the error only occurred when the intelephense language server was attatched to the buffer. I'm using neovim's native lsp client.
I updated just now (both neovim and plugins), and got the same issue.
Thanks for your help! :)

After further debugging, I realize this is the cause of multiple language servers. I have both intelephense and diagnostic language server running for the same buffer.
As M.open_outline() in symbols-outline.lua:188 calls buf_request, the handler will be called for each result from every server. This causes multiple buffers to be opened, and nvim_buf_set_name to fail.
Therefore I'm closing this as a duplicate of #12


Replace ' with real quote marks to display correct typography

Reference: http://webdesignledger.com/common-typography-mistakes-apostrophes-versus-quotation-marks

You may want to send this PR upstream also

Upstream...? where?

Where they originated from: https://github.com/offirgolan/ember-cp-validations/blob/6818d7fb11a53c59bddc0518c1f464c053591e5e/addon/validators/messages.js#L62-L92


Refinement of cells containing start and end waypoints

Once created, the mesh needs to be refined when start and end waypoints are known. The cells containing these waypoints should be split down to the max split level. This will ensure that the paths created are not thrown off by travelling to/from cell centres that are (potentially) a long way away from the waypoints and maybe in the wrong direction.

PolarRoute changes being addressed in #275


A JavaScript error occured in the main process

Fixed with a single line change on line 92 in main.js ahaha.
https://github.com/thura10/airwave/commit/cc6be3ece289330354b7ee1ace8bcbcecdc6775a


feat: allow plugins to set custom patterns for dangerous commands

Description
Refactors the is_dangerous_command utility function to move it to a separate module, then adds a method to that module which allows adding custom patterns. Our use case is that we have some internal CLI tooling touching production resourcing that is definitely dangerous, so we'd like to be able to add an invocation to our plugin to flag those commands as requiring human approval.
Testing

[x] Added a unit test
[x] Verified that adding a pattern works by adding a dummy .* entry from the __init__.py of our custom plugin and seeing a command blocked:

oh I like this idea

gentle bump on this :) would love a review!


Added documentation for the configuration discovery of cargo install to the man pages

Fixes #11660.

However, this is probably a breaking change for someone depending on old cargo uninstall behaviour. Could we split this PR into two, so we can approve cargo install part and discuss the other half afterward?

Of course. Never contributed to a project that can't make a breaking change, release a new version and call it a day :sweat_smile:.
I'll split the breaking changes and make a new PR. Maybe we could use that PR to also tackle the fact that install starts configuration discovery at $CARGO_HOME/config.toml, whereas I think it would be more natural to anchor configuration discovery at $CARGO_HOME/config.toml, not start it, like you already pointed out in the issue:
https://github.com/rust-lang/cargo/blob/efd37336e94e2f98260ad28d89e509e02fe4a556/src/bin/cargo/commands/install.rs#L93-L94

BTW, I think we may want to first warn the user who depends on the behaviour of implicit config discovery in cargo uninstall. After a transition period, we can then turn the warning into an error.

Can you point me to a location in the source where cargo already has such a warning? Then I could create a PR for the warning as well (of course only if that is something you'd want).

Can you point me to a location in the source where cargo already has such a warning? Then I could create a PR for the warning as well (of course only if that is something you'd want).

You'll find them by searching “hard error” or “transition period” in this repository, such as:
https://github.com/rust-lang/cargo/blob/65cab34dc75587eeaff68d3c19358c4d79041452/src/cargo/ops/cargo_package.rs#L299-L306

BTW, @jofas could you squash these commits so that we won't have things added and removed making the history confusing? No problem if you're unable to do that.

Sure, I can squash the commits into a single one. Can you stop bors from merging?

@bors r-

BTW, if the bot detects more commits being pushed, it will cancel the merge automatically.

Thanks, good to know. I squashed the commits.

Thanks a lot!
@bors r+

:pushpin: Commit e011901e91de5bf01881b03532c0867c3ec77043 has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit e011901e91de5bf01881b03532c0867c3ec77043 with merge 447ccb4abafcde42941ec5b43e8379bec7402e81...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing 447ccb4abafcde42941ec5b43e8379bec7402e81 to master...


Service Update

Subscribe to this thread to receive notifications on sevice updated :information_source:

Fixed message on isssues with a random joke.

Customizable message suuport added.

Related action message added. It is fixed can not be removed

Joke delivery style updated
This :arrow_down:

A byte walks into a bar looking miserable.
The bartender asks him: "What's wrong buddy?"
"Parity error." he replies.
"Ah that makes sense, I thought you looked a bit off."

To :arrow_down:
A byte walks into a bar looking miserable.
The bartender asks him: "What's wrong buddy?"
"Parity error." he replies.
"Ah that makes sense, I thought you looked a bit off."

why?
some multiline joke was not following the intended (previous) style properly so I changed it accordingly.

As desribed on  #49 , stop using this action for pull requests until I make a github-bot for this :smile:


fix: now the Dev Card share buttons appear on all screen sizes

Description
CSS changes to the /u/<username>/card page to ensure users are able to see the socials buttons and create their own dev card buttons.

Related Tickets & Documents
Closes #3923

Mobile & Desktop Screenshots/Recordings
BEFORE
https://github.com/user-attachments/assets/c0c26468-d8a2-413d-a0cf-30aa0a58e8cd
AFTER
https://github.com/user-attachments/assets/38a0d203-c4a0-4369-8686-197551965688

Steps to QA

Tier (staff will fill in)

[ ] Tier 1
[ ] Tier 2
[ ] Tier 3
[x] Tier 4

[optional] What gif best describes this PR or how it makes you feel?

Look like it works on Safari now on Mac.

It works on Safari iOS now as well, but it'd be good to add a bit of spacing above the social share icons.

It should be better now @nickytonline


onRequestPermissionsResult deprecated for fragments

The library works as expected but onRequestPermissionsResult has been deprecated for Fragment. Any update on this!

The issue is using deprecated API is not recommended so we wanted to know if you would be updating it any time soon

.

Yeah you're right. Closing issue.


Rename android app id io.keybase.ossifrage

@keybase/react-hackers
I've already made the change on the google play console, so after this is in nightlies should push the to this applicationId.

:+1:


Add ESM compatible TypeScript command for db seed help output

ESM can be tricky and full of error messages
https://www.notion.so/prismaio/Project-is-a-module-ts-node-ESM-Whac-a-mole-game-42c9babb59f64f94a8ed2fb9c46c61aa
db seed re-design doesn't include an ESM specific message
https://github.com/prisma/prisma/issues/8732
https://github.com/prisma/prisma/pull/8146
Here is an example project with
  // package.json
  "type": "module",
  "prisma": {
    "seed": "node --loader ts-node/esm prisma/seed.ts"
  }
  ...

and
// tsconfig.json
{
  // https://typestrong.org/ts-node/docs/imports/
  "compilerOptions": {
    "module": "ESNext", // required!, needs to be ES6, ES2015, ES2020, ESNext, if not set errors with "ReferenceError: exports is not defined"
    "moduleResolution": "Node", // required!
    "esModuleInterop": true, // required!
    "strict": true, // optional but recommended
  },
}

https://github.com/prisma/e2e-tests/tree/dev/migrate/db-seed-esm-pkg
To check:
Suggestion by user to use

node --experimental-specifier-resolution=node --loader ts-node/esm as it also enables importing ts-files into the seed-file.
https://github.com/prisma/prisma/issues/5030#issuecomment-912720245

In case it helps others who run across this adding this to tsconfig.json worked for me:
{
  "compilerOptions": {
    "module": "NodeNext",
  },
}

As described under "Module type overrides" on the ts-node docs


docs: Fix links, commands and QR code on first_example

Changes:

Add link to prerequisites
Fix missing "0" on QR code "-24J0AFN00KA0648G00"
Update path to chip-tool to "./out/linux-x64-chip-tool/chip-tool" to be consistent with the first examples and easier to copy/paste/run the commands.
Fix broken link to examples (https://github.com/project-chip/connectedhomeip/blob/examples). I had to hard code the full path as it's been compiled without the branch in the link and I get a 404 when accessing it from "https://project-chip.github.io/connectedhomeip-doc/getting_started/first_example.html#an-sdk-example".

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix typo

changed "envrionment" to "environment"

Thanks for catching this @error418 ! Much appreciated.


Ampersands in link URLs are erroneously escaped with a \

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Link to runnable example
https://codesandbox.io/s/late-rgb-4gn6eh
Steps to reproduce
Run [Hello world!](https://example.com/?one=1&two=2) through remark to parse into an AST and re-stringify and you get a different string out the end: [Hello world!](https://example.com/?one=1\&two=2).
Expected behavior
This should produce output identical to the input.
Actual behavior
The URL ends has the ampersand escaped with a \
This issue was discussed in #8, which was closed as invalid, however the underscore escaping reported in that issue now appears to be fixed, while the issue with ampersands discussed in the comments remains.
Runtime
Node v16
Package manager
npm v7
OS
macOS
Build and bundle tools
No response

Why? What's the error here?

Closing. I misunderstood the CommonMark spec.
It's also a shame that many markdown->html converters don't handle escaped characters in href attributes, but I guess that's their problem.

It's also a shame that many markdown->html converters don't handle escaped characters in href attributes

Hmm, in my experience there is a lot of CommonMark and GFM support now?
As these tools apparently don’t support CommonMark/GFM, perhaps you can choose alternative tools?


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:37: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:37: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:37: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_61s0wx0d43/clone/recipe/meta.yaml:37: missing_description: The recipe is missing a description
Errors were found


Form autoblock

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #121
Test URLs:
https://form-autoblock--stewart--hlxsites.hlx.live/en/about-stewart/supplier-diversity-at-stewart

@badvision let me know what you think of this.

auto blocking based on link to json (link easily copied from sidekick)
form block itself will take either the link or the form id, so when not auto-blocked, authors can just add the id


Enabling Right-to-left language (RTL)

Hello,
I have used this:
http://carbon-for-ibm-dotcom.mybluemix.net/guidelines/right-to-left/
and this:
https://www.ibm.com/standards/carbon/react/?path=/story/overview-enable-right-to-left-rtl--page
To add support for RTL, but some components doesn't work correctly, like SideNav.
Is there something I'm missing ?

@metonym , Any updates on this issue?


[Event Change Request] codeunit 5816 "Undo Return Receipt Line" - OnBeforeReturnRcptLineModify  / OnAfterReturnRcptLineModify

Can we please get the following parameters for the the events OnBeforeReturnRcptLineModify & OnAfterReturnRcptLineModify
local procedure "Code"()
var
    PostedWhseRcptLine: Record "Posted Whse. Receipt Line";
    SalesLine: Record "Sales Line";
    Window: Dialog;
    ItemShptEntryNo: Integer;
    DocLineNo: Integer;
    PostedWhseRcptLineFound: Boolean;
begin
    with ReturnRcptLine do begin

        ...

            "Quantity Invoiced" := Quantity;
            "Qty. Invoiced (Base)" := "Quantity (Base)";
            "Return Qty. Rcd. Not Invd." := 0;
            Correction := true;

            //+Change
            //-OnBeforeReturnRcptLineModify(ReturnRcptLine);
            OnBeforeReturnRcptLineModify(ReturnRcptLine, TempWhseJnlLine);
            //-Change
            Modify;
            //+Change
            //-OnAfterReturnRcptLineModify(ReturnRcptLine);
            OnAfterReturnRcptLineModify(ReturnRcptLine, TempWhseJnlLine, DocLineNo);
            //-Change
        until Next() = 0;

        MakeInventoryAdjustment();

        WhseUndoQty.PostTempWhseJnlLine(TempWhseJnlLine);
    end;

    OnAfterCode(ReturnRcptLine);
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeReturnRcptLineModify(var ReturnReceiptLine: Record "Return Receipt Line"; var TempWarehouseJournalLine: Record "Warehouse Journal Line" temporary)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterReturnRcptLineModify(var ReturnRcptLine: Record "Return Receipt Line"; var TempWarehouseJournalLine: Record "Warehouse Journal Line" temporary; DocLineNo: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


grafana: 8.5.5 -> 9.0.0

Description of changes
ChangeLog: https://github.com/grafana/grafana/releases/tag/v9.0.0

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 177890 run on x86_64-darwin 1

1 package built:

grafana


Make it only work if user is holding compass in hand or offhand

also option for right click while holding compass opens waypoint menu

Ok, now I gotta ask. Could you be more specific about "Make it only work if user is holding a compass in hand or offhand"? Like, the compass display should only work then, or you only get the displays when you are holding a compass?

i prefer having to hold it in hand but a option to also enable it when its in hotbar or inventory is also ok

So basically the plugin only works if you have a compass in the Hotbar / hand.

Yea having a option on config to make it only work if compass is on one of these: hotbar, hand/offhand and inventory

or also implementing it on permissions so vips dont need to hold the compass


Alchemical abilities

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is:  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is:  (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <Exalted 2e> (i.e. Dungeons & Dragons, FATE)

[X] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[X] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.

@Briteblade can you make sure that this change doesn't cause the same issue the last one did with formatting? I am still having trouble with the sandbox on roll20.

@Adrail86 Sure man, I'll look into it.  Should be able to take a look this weekend at the latest.

Hi @Adrail86!
Unfortunately we are going to reject this Pull Request on the basis that all new sheets must meet the Minimum Requirements section of the character sheet standards.
Your sheet fails in the following ways:

Using <table> for layout. Please use CSS flexboxes or grid instead

Many thanks!

Hey Nora,
This sheet was made well before Adrail or myself began working on it, and
before the rule against    was made, and thus had been grandfathered
in, as per the note in the linked character sheet standards.

This is the most common reason for new sheets being rejected/delayed
by Roll20. There are old sheets in the repo using them, but they where
created before this rule against  was made.

We're just attempting to maintain and update it. We can look into
rewriting to remove the  in the future, but in the meantime, could
you allow us to put this Pull Request through?
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Mon, Jan 8, 2024 at 4:25 PM Nora Cahill @.***> wrote:

Hi @Adrail86 https://github.com/Adrail86!
Unfortunately we are going to reject this Pull Request on the basis that
all new sheets must meet the Minimum Requirements section of the character
sheet standards
https://wiki.roll20.net/Building_Character_Sheets#Roll20_Character_Sheets_Repository
.
Your sheet fails in the following ways:

Using  for layout. Please use CSS flexboxes or grid instead

Many thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/Roll20/roll20-character-sheets/pull/12421#issuecomment-1881845533,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ7JT4UVON3WOJZN74R4D3TYNRP4TAVCNFSM6AAAAABBEXCGIKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBRHA2DKNJTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey @Briteblade & @Adrail86 ,
Yep, you're correct, existing  elements aren't a blocker for updating existing sheets.  I've unblocked this PR, and am merging now.
As one small note for the future, if you can include the name of the sheet being edited in the title of your PRs going forward (i.e. "[Exalted2e] Alchemical Abilities" or the like), that'd be greatly appreciated!
Thank you both for your patience, and hard work maintaining the sheet!

The changes got reverted to before the previous pull request causing an error with the Advantages section of the sheet none of the changes made in this pull were included!

@Adrail86 .
Ack - that's not good.  Yeah, I see the missing div tag from the earlier error.  If you can, please do make a new PR with that fix, tag or request me, and I'll make sure to get it merged as soon as I can.   Are you sure the changes in this PR didn't make it in alongside the error?  I'm seeing them in code on master - I think all you may need to do is restore that div tag?


NAudio broken with the latest update.

https://github.com/naudio/NAudio
NAudio 2 was working in version Core 5 until this update. It still works under Core 3.1 with its' latest update and in the .Net 4.8.
The error is an access violation in native Win32.

Then please file an issue at their repo.

The behavior suggests a regression or the bug that was fixed may still exist in 2 other products.

Do you work on the naudio project? We'd need more information to be able to investigate the issue. Do you have different sources targeting the different TFMs?

I prepared a sample for you. The first solution is .Net Core and the second is .Net Framework the same code will run on .Net Core 3.0, 3.1, 5.06 but not 5.07. The code will also run on all versions of the .Net Framework. I created the projects and solutions in the same directory and Visual Studio 2019 does not behave well in this scenario. The workaround is to delete the obj folder when switching between the 2 solutions. I tested the app by opening an mp3 file in each version of the frameworks.
If you want to know more try adding both projects to the same solution and watch Visual Studio 2019's head explode.
NAudio.zip

This has been reported in NAudio as well. see https://github.com/naudio/NAudio/issues/789. The code works fine in the preview version of .net 6. Still trying to determine exactly what is causing this to direct it correctly.

The issue is being tracked in the runtime repo https://github.com/dotnet/runtime/issues/54132

Thanks @wzchua. Closing as dupe then.


Pacify clippy

The recent stable toolchain introduces noisy lint errors, mostly related to needless borrows.

Seems to be actually a problem on clippy.


DateParser doesn't work correctly, when unixTimestamp has negative value

For example, if i have unixTimestamp='-2209150800000' (1899-12-30T03:00:00Z), in DB it will be NULL
Error in this code:
@implementation NSString (HYPPropertyMapperDateHandling)

(HYPDateType)hyp_dateType {
if ([self containsString:@"-"]') {
return HYPDateTypeISO8601;
} else {
return HYPDateTypeUnixTimestamp;
}
}
@end

Function should return a value HYPDateTypeUnixTimestamp instead of HYPDateTypeISO8601

Thanks! Feel free to send a fix :)
Otherwise I'll have a look on the weekend, I've been pretty busy lately.

Fix for: https://github.com/hyperoslo/Sync/issues/270
This is the simplest way that I've found to support this feature, using regular expressions instead of simple string comparison has it's drawbacks, the method calculation went from 0.01 to 0.02. Since date parsing is a common thing that could be done thousands of times in a JSON mapping, I would prefer to keep the performance instead of handling this edge case, as I've found online most current unix timestamp parsers don't even support this feature.
Please let me know what you think.

I forgot to answer.
I had to change function hyp_dateType: so it solve my problem

(HYPDateType)hyp_dateType {
if ([self containsString:@"-"] && [self length] > 0 && ![[self substringToIndex:1] containsString:@"-"]) {
return HYPDateTypeISO8601;
} else {
return HYPDateTypeUnixTimestamp;
}
}

Also i had to change function hyp_dateFromUnixTimestampString, because in this function is using fixed timestamp length (but timeStamp length may be from 0 to 14/more):

(NSDate *)hyp_dateFromUnixTimestampString:(NSString *)unixTimestamp {
NSString *parsedString = unixTimestamp;
/*
NSString *validUnixTimestamp = @"1441843200";
NSInteger validLength = [validUnixTimestamp length];
if ([unixTimestamp length] > validLength) {
if ([unixTimestamp length] == 14) {
parsedString = [unixTimestamp substringToIndex:(validLength + 1)];
} else {
parsedString = [unixTimestamp substringToIndex:validLength];
}
}
*/
if ([parsedString length] > 3) {
parsedString = [parsedString substringToIndex:[parsedString length] - 3];
}
NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *unixTimestampNumber = [numberFormatter numberFromString:parsedString];
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:unixTimestampNumber.doubleValue];
return date;
}

in any case, thanks for the answer, and especially for your library.
your library is very cool and has helped me in my project.

That's very nice of you, I wish you an amazing week 🌞


WIP Create a manager bot

Automated message from Dropbox CLA bot
@anirudhjain75, it looks like you've already signed the Dropbox CLA. Thanks!

I think we need to come up with a scheme here that allows the other bots to continue to run the way that they used to, standalone, in case people elect not to run the manager bot.
For example, you changed the converter bot so it only sends private messages back to the manager bot.

Given that this has been inactive for months, I'm closing this.  Thanks for your work @anirudhjain75!  I think that at a high level, making it possible for a single bot to do several things is probably a good idea, but the devil is in the details, and I'm not sure these are the right details quite yet.


BL-4756 refactor into normal and single-page (android) outputs

This change is

Review status: 0 of 10 files reviewed at latest revision, 2 unresolved discussions.

src/pagePlayer/app.ts, line 1 at r1 (raw file):

/// <reference path="../../typings/index.d.ts" />

Do we need some kind of file comment here? I sorta gather this is for use only by Android, is that true?

src/pagePlayer/app.ts, line 29 at r1 (raw file):

        SetAndroidMode();
        animation = new Animation();
        // todo:

This is a lot of todo code... what's it here for?

Comments from Reviewable

Review status: 0 of 10 files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable

Review status: 0 of 10 files reviewed at latest revision, 2 unresolved discussions.

src/pagePlayer/app.ts, line 1 at r1 (raw file):
Previously, hatton (John Hatton) wrote…
Do we need some kind of file comment here? I sorta gather this is for use only by Android, is that true?

Done.

src/pagePlayer/app.ts, line 29 at r1 (raw file):
Previously, hatton (John Hatton) wrote…
This is a lot of todo code... what's it here for?

Done.

Comments from Reviewable


Remove regex check for test files

Are you requesting a feature or reporting a bug?
request a feature
What is the current behavior?
There are regexes that each test file is run against, and if they do not match, you get an error

No tests to run. Either the test files contain no tests or the filter function is too restrictive.

What is the desired behavior?
Can this regex test be disabled and instead look for tests when actually running/parsing the code? I've found valid use cases where those regexes might not match.
In my project, I've broken up my app into several "subapp" libraries, and each subapp exports a suite of tests, which are run in the main repo's testcafe suite.
for example:
library test file
export default function libraryTests(){
  fixture('Library tests').page('localhost:1234');

  test('Does some stuff', async t => {
    //await t.expect(....); //expect something
  });
}

main test file
import {libraryTest} from 'library';

libraryTest();

currently, this fails when i try to run the tests pointing at the main test file. However, it works if i add a commented out fixture and test. Ideally, I would not need to add a commented out fixture and test just to satisfy the regex.

Unfortunately, we wouldn't like to add an option that can cause unexpected effects on a user's computer. As a workaround, you can regroup tests or change a directory structure.

@kirovboris  It would not be an unexpected effect. The entire point of the option is to run every file in the user's regex, so if they enable it, they should know what it does (and it would presumably be explained in the docs).
This would prevent needing a hacky workaround to share suites across different files, so I really think it's something that should be addressed.

Any update on this? In order to share suites across files I have to add something like
fixture `A fixture`;

test('', () => {});

to my files, which is extremely hack-y...

I also think these regexes should be removed for two reasons:

Like mentioned before it prevents you from putting test case generators into a library file. The tests will just stop running without any notice. This left me wondering with not indication what happended.
Also if you do rely on the behavior of the regexes and have e.g. some database cleanup code in a JS file, once a developer puts in test. and fixture. into them (even in a comment) they are suddenly run. This is I think very unexpected and might cause data loss etc.

I also do not agree with @kirovboris's previous points:

As I said before, we can't run every file by glob patterns like test/**/*.js because of side effects in non test files.

Most people probably name their tests files something like foo.spec.js anyways, so one could use test/**/*.spec.js then. There are also other tools which need extra configuration just for testcafe (see e.g. #1735) and those also use such a globs, so there would be no changes required in most cases.
For now I will put a comment like this into every test file:
// test( fixture( <- workaround for https://github.com/DevExpress/testcafe/issues/2074

Which unlike Evan's solution does not require any actual code but still is very hack-y.

agreed with @bxt . bump. This issue really should be addressed.

Hi @bdwain @bxt,
I agree that the current implementation can cause problems with test generators.
We decided to add an option that enables the behavior you described in the upcoming releases.
Later, when we release a major update, we will enable this behavior by default.

awesome! thanks!

Is there documentation on how to implement this? DOCUMENTATION: required


Style Guide

Create and determine how to implement a style guide.

Lazy implementation at #/styleguide.  Will continue to flesh out as time goes on.


feat(i18n): add PT-BR translation file for UI items

Translation to pt-br for the search UI items

Thanks a lot.


Build script dylib test issue

The test build_script_with_dynamic_native_dependency does not seem to be working as it was originally intended. I was going to fix it myself, but there are too many changes that I don't understand. There are two primary issues:

This line in the test points to a non-existing path: https://github.com/rust-lang/cargo/blob/b3d0b2e545b61d4cd08096911724b7d49d213f73/tests/testsuite/build_script.rs#L1440
These lines do not have any test coverage (removing add_plugin_deps does not cause any errors): https://github.com/rust-lang/cargo/blob/b3d0b2e545b61d4cd08096911724b7d49d213f73/src/cargo/core/compiler/mod.rs#L517-L542

The history for this test:

The test and add_plugin_deps added in #1195.
The test dylib builder was changed to add plugin = true in #1960. ← This one I particularly don't understand.
Test was changed to use a workspace in #3974 which resulted in the build script emitting a path that does not exist. That PR also changed it so that linker paths must be prefixes of the target/debug directory, so you can't just switch it back to a non-workspace.

It's not clear to me how #3974 was supposed to work. It's also not clear if add_plugin_deps is even needed anymore. I would think all plugin dylibs should already live in the deps dir which is already included in the LD_LIBRARY_PATH, so I don't know why add_plugin_deps exists.

Hm ok I think that test is basically the test for why add_plugin_deps exist. The addition of a workspace breaks the intention of the test, so those two projects definitely shouldn't be in the same workspace.
As for #1960 I dunno if it's necessary any more, if you can remove plugin = true and the test still works I'd remove it, it looks like one of those things where I just added it to keep something working at the time, and it may have been erroneous and/or no longer necessary


Switches, Buttons, Lists not working (boolean)

Since 0.1.2 Switches, Lists and some Buttons don‘t send commands to objects in ioBroker. They only show their states.
for example:
switch as boolean with off=false and on=true is not working.
Same with toggle
Toggle vertical works instead

Can not confirm this. all work as expected.
Please rebuild completly the widgets, means add new ones. For boolean toggle use toggleType 'boolean'

Please give a feedback!

I‘ve tried the update again.
Same issues appearing.
Downgrade to 0.1.1 fixes the issues
I have to try update and changing the buttons again

Tried it again.
I have updated to 0.1.2
Switch (boolean) shows the right state but doesn't send a command.
Downgrade to 0.1.1
Switch works fine

As you can see, all wok as expected - sending and receiving commands.
I didnt get any ohter reponse with your descibed behaviour. So think its not a problem of the adapter. Did you check other widgets, if you have there the same problem?

I created a completely new vis project.
Still the same issues.
Every other switch works fine.

Which browser do you use?

Safari macos and ios

Do you have the possibility to test it with another browser? I dont have safari.

Same on Chrome
I‘ll try a completely new and clean ioBroker installation

Think you dont need this. Please show the settings of your switch, i have an idea.

First I have to update again. But i tried any possibilities. Of course i‘ve set the switch to boolean and tried true/false in any constellation

if you use toggleType = boolean, then you dont need to add somthing to valueOff / valueOn option.
But the datapoint must be a real boolean! Prehaps some script wirte 'true' / 'false' -> thats a string not a boolean.

My datapoints are real booleans for sure, but i‘ll try it again

My settings

My settings

state if not true value : an?

My settings

state if not true value : an?

Doesn‘t matter. No change in behavior

I'm assuming that the point macos and/or ios could be the right direction of further investigation.
I tested the bool switch with Chrome@ios and I can confirm the same issue.
When I call exactly the same view on Chrome@Win10 it works fine.

Please test the actual master verison 0.1.12.
If it is still not working, upload console log file, after pressing / switching!

cannot find 0.1.12?
Where can i get that?

@Strobelix80: Please try to take "https://github.com/Scrounger/ioBroker.vis-materialdesign" as update URL in iobroker admin->adapter section.
After such update I see still version "0.1.5" but the update was probably successful...
AND: after my first tests I can confirm that this issue doesn't occur anymore! :-)

That‘s it!
Works great after updating to this version

Great!
Reason is that safari not support the navigator virbrate api. Just find it out because i get the right consol log ;)
So im closing this


Invoking Update-SessionEnvironment from chocolateyInstall does nothing

I have an install script which updates the $env:PSModulePath environment variable.
I do this then call Update-SessionEnvironment expecting to then be able to see $env:PSModulePath post install of the package via chocolatey.
$env:PSModulePath is not updated. Only if I restart powershell will $env:PSModulePath be what it's expected to be.

It is updated. See for yourself by adding the following to your chocolateyInstall.ps1:
Write-Host $env:PSModulePath
Update-SessionEnvironment
Write-Host $env:PSModulePath

Now, once chocolatey EXITS and you come back to your shell (which is likely powershell), $env:PSModulePath is whatever the shell was started with + any changes you have explicitly set.
If you want Update-SessionEnvironment to work, you need to import the chocolateyInstaller.psm1 module into your current session and call Update-SessionEnvironment.
HTH.

For clarity, this is not a chocolatey issue, this is is how child processes work on Windows. They have limited abilities to affect their parent process, which we can all agree is a good and secure thing.

Also a duplicate of https://github.com/chocolatey/chocolatey/issues/666

I'm aware the value is updated inside of the session chocolateyInstall.ps1 is running in but that is worthless for my usage scenarios. I need the variable to be updated in the parent session.
Just to be clear I did as you say and a run through of the result is:
cinst posh-ci -source C:\TEMP
Chocolatey (v<IP_ADDRESS>) is installing 'posh-ci' and dependencies..

# output from chocolateyInstall.ps1
# invoke $env:PSModulePath
unchanged value
# invoke Update-SessionEnvironment
# invoke $env:PSModulePath again
changed value

Posh-CI has finished successfully! The chocolatey gods have answered your request!

#ok so chocolatey did the install.. now invoke $env:PSModulePath
unchanged value

I'm just curious but why is chocolateyInstall.ps1 run in it's own session and not the session used to invoke cinst with?

I understand the problem; it just seems an approach could be taken which did not result in this limitation; i.e. not using a child process to perform the actual install. Where is the requirement for an entirely separate session coming from? just seems unnecessary/ convoluted

I think part of the problem is that you believe that chocolatey is mean to be invoked from PowerShell because it is written in PowerShell and it's not. It's a tool that can be executed from any shell. Let's be completely clear - this chocolatey is written in POSH. It is within days of being deprecated for choco (https://github.com/chocolatey/choco) which is written in C# and has a posh install provider.
It's entirely possible that we will include a module that you can add to your profile that will give you this behavior.


Add project path to python path

When running tests in VSCode, the path to the src directory is not added to the python path, and must be run before importing core
sys.path.insert(0, os.path.abspath('./src'))

Closed by #13


Fix working with killed buffers

Apparently, very rarely a killed buffer can sneak its way into our buffer ring. Its buffer-name is nil, so when that happens pc-bufsw working. Detect this situation and ignore it.

Thanks!


[tool_crash] StateError: Bad state: Cannot add event after closing

Command
flutter --no-color run --machine --track-widget-creation --device-id=chrome --start-paused --dart-define=flutter.inspector.structuredErrors=true --devtools-server-address=http://<IP_ADDRESS>:9102 lib/main.dart

Steps to Reproduce

...
...
...

Logs
StateError: Bad state: Cannot add event after closing
#0      _StreamController.add (dart:async/stream_controller.dart:553:24)
#1      _StreamSinkWrapper.add (dart:async/stream_controller.dart:826:13)
#2      AppConnection.runMain (package:dwds/src/connections/app_connection.dart:33:22)
#3      WebDevFS.connect.<anonymous closure> (package:flutter_tools/src/isolated/devfs_web.dart:669:25)
<asynchronous suspension>

[✓] Flutter (Channel stable, 2.2.0, on Mac OS X 10.15.7 19H1217 darwin-x64, locale fr-CI)
    • Flutter version 2.2.0 at /Users/davis/Documents/flutter
    • Framework revision b22742018b (2 weeks ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/davis/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    ✗ Xcode 12.0.0 out of date (12.0.1 is recommended).
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • Mac OS X 10.15.7 19H1217 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 91.0.4472.77

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: b22742018b3edf16c6cadd7b76d9db5e7f9064b5
Plugins
path_provider-2.0.1
path_provider_linux-2.0.0
path_provider_macos-2.0.0
path_provider_windows-2.0.1

Closing this as duplicate of https://github.com/flutter/flutter/issues/59757


Dead link on Mirantis-Guidance

In this chapter there is a link "How To: Rebuild Azure Service Fabric cluster (minimal version)" which leads only to "#". I'd like to take this path for upgrading, but first I need to read this How To...

this has been resolved


Implement advanced request mapping

This pull request resolves #150

Hello. This is my work which resolves #150. Although there are lots of things to be improved before merging, I thought it is much better to share my (dirty) draft as soon as possible, for following reasons:

This issue is much more complex than expected, to the extent that it generates several sub-issues. (detailed descriptions are below.)
By above reason, conducting interim check would be better.

My approach is simple: From a given (Spring-MVC like) annotated strategy class, HttpDynamicService generates a list of entries which can capture the path variables and invoke the corresponding method with reflection. (HttpDynamicService#forStrategy). for every request, HttpDynamicService looks for the bindable path from the entries (DynamicPath#matches), deserialize the parameters to adequate types (DynamicPath#bind, DynamicMethod#arguments), and returns the object from DynamicMethod#invoke.
This work generates following sub-issues:

Extending RequestMapping to handle the HTTP methods. (see: RequestMapping annotation in Spring MVC)
Improved deserializing methods should be supported: Currently, only primitive + String type parameters can be bound. It is much better to support custom deserializing strategy, which can generate any class object from the path variables. (Add to this, current deserialization routine is not only dirty but also bad.)
Improved serializing methods should be supported: Currently, all responses are returned in text/plain form.

I am looking forward to your feedback. Thank you very much.

Current coverage is 64.87% (diff: 83.91%)

Merging #321 into master will increase coverage by 0.35%

@@             master       #321   diff @@
==========================================
  Files           318        323     +5
  Lines         12806      12969   +163
  Methods           0          0
  Messages          0          0
  Branches       1913       1935    +22
==========================================
+ Hits           8262       8413   +151
- Misses         3659       3661     +2
- Partials        885        895    +10

Powered by Codecov. Last update d0f482b...c40000b

Wow, looks very promising. Let me take a closer look a little bit later.

I totally agree with you. However, I have a question: May I add a new method in ServiceRequestContext to store bound path variables? This method is needed in HttpService#serve method, to retrieve bound variables.

May I add a new method in ServiceRequestContext to store bound path variables? This method is needed in HttpService#serve method, to retrieve bound variables.

You can use an attribute. ServiceRequestContext implements AttributeMap, and thus you can attach an arbitrary attribute to it.

Hello @trustin, I updated my PR with your comments. The main difference with the previous work is moving to builder-pattern-based service construction, referring SparkJava.
Following is the list of additional todo-tasks:

Enable configuring HTTP Method in @RequestMapping annotation.
Implement improved Content-Type feature.
Enable asynchronous method invocation: In my opinion, this feature is in fact so critical, since lots of Tomcat based (legacy) microservices are suffering from lack of asynchronous method invocation. If we can support this feature so successfully, it can help their migration to Armeria.

I applied all your comments and added HTTP Method support, following Spring MVC's RequestMapping annotation. DynamicHttpFunction is a dedicated functional interface for dynamic HTTP services now. And I removed DynamicHttpServerConfig, for it only contains List of DynamicHttpFunctionEntry - it is useless.
The followings are remaining issues:

Support Content-Type specification feature in @RequestMapping[^1].
Make use of Java 8's callback functionality in order to separate main thread from the execution of DynamicHttpFunction[^2].

[^1]: In the case of Spring MVC's RequestMapping annotation, 'produces' attribute takes care of this work.
[^2]: For example, if the DynamicHttpFunction tries to access the other web resources served by poor machine, current blocking-implementation can be a serious problem.

Support Content-Type specification feature in @RequestMapping
Make use of Java 8's callback functionality in order to separate main thread from the execution of DynamicHttpFunction

Both are related with each other in my opinion.
Currently, DynamicHttpFunction is expected to return an HttpResponse, but we could make it return anything, and we could behave differently depending on the type of the returned value:

CompletionStage<T> - resolve the returned future asynchronously. When the future is complete, we convert T into an HttpResponse using one of the conversion mechanisms available. JAX-RS and Spring Web already have well-written API for content negotiation and conversion, so we could get some idea from what they have achieved.
HttpResponse - pass-through
Others - invoke DynamicHttpFunction in a RequestContext.blockingTaskExecutor() unless it's annotated with a special annotation such as @NonBlocking.

Here is the update with full features: I added support for Content conversion and asynchronous method call, by making DynamicHttpFunction#server return anything. Instead, I added some internal utility methods which compose given user-defined DynamicHttpFunction and ResponseConverters into directly invokable DynamicHttpFunction object - see DynamicHttpFunctions#of methods. Now the overall API looks like ResponseTransformer of SparkJava.
Asynchronous method call also works similarly. For this feature, please see DynamicHttpFunctions#async methods.

Here is the update. The heart of this update is MappedDynamicFunction#serve, which runs DynamicHttpFunction using ServiceRequestContext.blockingTaskExecutor(). However, since I have no experience on RxJava Streams, I cannot certain that there is a better way to deliver HttpResponse from working thread to IO thread. Is this OK?

I cannot certain that there is a better way to deliver HttpResponse from working thread to IO thread. Is this OK?

It is still blocking, but let's forget about how to make this truly asynchronous at the moment.

Here is the update:

Move Type class into com.linecorp.armeria.internal package.
Fix loggings on Deserializers: Class#getName -> Class#getSimpleName.
Fix javadocs: Delete, Get, Head, Options, Patch, Post, Put, Trace and ResponseConverter#convert.
Update DynamicMethods:

Add convert(Object, ResponseConverter) to handle the case of explicit converter is given.
Add asynchronous method call support to DynamicHttpFunctions#of(DynamicHttpFunction, ResponseConverter). This method now also handles the returned object of HttpResponse type, using convert method above.
Change isAssignableFrom() into instanceof.

@imasahiro Care to take a final review?

Hmm... Why the Travis-ci job was failed? It succeeds with my local dev machine.

No idea. It seems unrelated with your work. Please ignore it for now.

Here is the update, with the squashed commits:

Fix Javadoc: Path, PathParam.
Add new annotations: Convert, Converter and Converters.
Make Deserializers#FUNCTIONS immutable.
Make DynamicHttpService non-final, making the 3rd way of defining Dynamic HTTP service.

Add to this, I re-organized test methods in HttpServiceTest#testDynamicHttpServices. As you know, there are three ways of configuring Dynamic HTTP service. I organized test cases of 9, like following:

case 1, 2, 3 for using DynamicHttpServiceBuilder#addMapping and DynamicHttpFunction functional interface.
case 4, 5, 6 for using DynamicHttpServiceBuilder#addMappings and strategy object.
case 7, 8, 9 for defining service object by extending DynamicHttpService.

Here is the update:

The functionality of @Convert annotation was merged into @Converter. (proposed by @trustin) In other words, @Convert was removed and the target type of @Converter was expanded.
All Javadoc-style multiline comments were replaced with //. (proposed by @imasahiro)

Followings are some remarkables:

For the annotation's default value should be a constant, it can't be null. So, I decided for the default value of Converter.target to be Object.class.
The usage of Converter annotation is a little bit different for Methods and Classes. When it is marked on a method, it can't be repeated and should not specify the target class. But if it is marked on a class, it can be repeated and must specify the target class, except Object.class.
I tried to make @Converters to package-private, but it was impossible. So I left it unchanged.

Add to this; the main updates reside on Methods#converter and Methods#converters.

Fixed Javadocs & Exception Messages:

Converter#value: ResponseConverter class. -> The type of the {@link ResponseConverter} that will convert the object whose type is {@link #target()}
Converters#value: Array of {@link Converter}. -> An array of {@link Converter}s.
Methods#converters: @Converter annotation can't be marked on a class without a target specified. -> @Converter annotation must have a target type specified.

LGTM. BTW, do we need to update copyright header from 2016 to 2017?
Copyright 2016 LINE Corporation

Thank you very much for your patience and hard work, @dongjinleekr !

@imasahiro Ugh, I forgot to update the years.. Maybe that's fine.. :stuck_out_tongue_closed_eyes:


[Audit][Implementation] - Remove unused images

Details

This PR adds a script to find and remove the unused images from the App. This is in order to help us reduce the APK size of the App. Below are the before and after affects on the APK size:
Before:
Raw size: 106.6 MB
Download size: 102.7 MB
After:
Raw size: 106.5 MB
Download size: 102.6 MB
There's only 0.1 MB of reduction in the APK size 👍
Fixed Issues

$
PROPOSAL:
Tests

[X] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android: Native
[X] Android: mWeb Chrome
[X] iOS: Native
[X] iOS: mWeb Safari
[X] MacOS: Chrome / Safari
[X] MacOS: Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[X] I verified that all the inputs inside a form are aligned with each other.
[X] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/47336142/d4622f41-e952-478e-b768-85253f1fada3

Android: mWeb Chrome

https://github.com/Expensify/App/assets/47336142/7c625139-69be-4a0d-afad-edd8fffdea3b

iOS: Native

https://github.com/Expensify/App/assets/47336142/58938f0e-26d7-4955-89b0-3fb9d5efd1db

iOS: mWeb Safari

https://github.com/Expensify/App/assets/47336142/de5f7420-e4bf-41e7-a2a6-c193dbf3b2f5

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/47336142/f7f83bf9-c9c2-4a7d-b009-17a6e2fdf739

MacOS: Desktop

https://github.com/Expensify/App/assets/47336142/b4ee3a45-01cd-4380-9d5e-045561fbc1b3

Putting this on Hold until less priority tasks are available, details


[Question] updateChannelParticipant

Hello! Do you have updateChannelParticipant method?

You can find Bot API documentation at https://core.telegram.org/bots/api and specifically the list of available updates at https://core.telegram.org/bots/api#update.


Constraint foreign key exception when having conflicting operations inside one transaction

Problem
If we have several tables with foreign key relations, then inside one transaction do some operations influences on each other  and get exception android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787 SQLITE_CONSTRAINT_FOREIGNKEY).
Unlikely, in Room library the same tables and relations such transaction is considered valid.
Environment: kabin: 0.1.0-alpha04;
SQLite version (according to documentation): 3.39 (API 34).
Example
We have 2 tables and a dao.
@Entity
data class UserEntity(
    @PrimaryKey
    val id: Int,
    val name: String
)

@Entity(
    primaryKeys = ["id", "userId"],
    foreignKeys = [
        ForeignKey(
            entity = UserEntity::class,
            parentColumns = ["id"],
            childColumns = ["userId"],
            onDelete = ForeignKey.Action.CASCADE,
            onUpdate = ForeignKey.Action.CASCADE
        )
    ],
)
data class UserAvatarEntity(
    val userId: Int,
    val id: String,
    val url: String
)

@Dao
interface IUserDaoSpecial {

    @Transaction
    suspend fun doSomeOperations() {
        val userEntity = UserEntitySpecial(
            id = 0,
            name = "John"
        )
        val userAvatarEntity = UserAvatarEntitySpec(
            userId = 0,
            id = "d64c2cd8-fd5f-4f06-844e-b4006b9464bb",
            url = "https://icon.jpg"
        )

        insertAvatar(userAvatarEntity)
        insertUser(userEntity)
    }

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun insertUser(user: UserEntitySpecial)

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun insertAvatar(avatarEntitySpec: UserAvatarEntitySpec)
}

If we will invoke dao method, we will catch an exception.
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787 SQLITE_CONSTRAINT_FOREIGNKEY)

Expected behavior: successful operations inside one transaction.
I guess this error is connected with deferred flag in ForeignKey.

According to this answer and many others, we need to make these changes:

Make all constraints DEFERRED inside one transaction
Adjust insert order for compounds and lists and call notifyQuery only after all SQL operations
Wrap database operations such as create, clear and drop inside a transaction

Make all constraints DEFERRED inside one transaction

In order to make the first point work correctly, all foreign keys should be created as DEFERRABLE INITIALLY IMMEDIATE by default, and DEFERRABLE INITIALLY DEFERRED
Changed here:  https://github.com/tamimattafi/kabin/commit/022636f43f57c0fc669f2dcdedae64658f82c7ce

Make all constraints DEFERRED inside one transaction
Some deeper research showed that room uses PRAGMA syntax to make foreign keys DEFERRED inside a transaction, which seems like a better option than SET CONSTRAINTS ALL DEFERRED since it's rolled back once the transaction ends, and you don't have to do it manually.

More info: https://sqlite.org/pragma.html#pragma_defer_foreign_keys

Make all constraints DEFERRED inside one transaction
Wrap database operations such as create, migrate, clear and drop inside a transaction and turn off foreign keys using PRAGMA

In order to achieve this type of control over foreign keys, KabinDatabaseConfiguration had to be changed to include more flags. configuration is now passed to Database, Scheme and Dao, which means this commit might introduce breaking changes for some projects.
Changed here: https://github.com/tamimattafi/kabin/commit/132af1530dc25fff5f67deefd34b8449aaa84044

Adjust insert order for compounds and lists and call notifyQuery only after all SQL operations

Further research showed that notifyQuery inside one transaction delays triggers until the transaction is successful, therefore, these changes were postponed until future refactoring of the compiler and processor modules.


Pass a proper message to exception

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

Improvement

Short description (up to a few sentences):
Pass a proper message when a partition doesn't exist.
Detailed description (optional):
Currently, the message is completely unclear:
:) SET optimize_throw_if_noop=1

SET optimize_throw_if_noop = 1

Ok.

0 rows in set. Elapsed: 0.002 sec.

:) OPTIMIZE TABLE graphite.data_lr PARTITION 201705

OPTIMIZE TABLE graphite.data_lr PARTITION 201705

Received exception from server (version 19.4.0):
Code: 388. DB::Exception: Received from localhost:9000, ::1. DB::Exception.

0 rows in set. Elapsed: 0.005 sec.

But it exists in logs:
2019.06.26 19:18:30.555755 [ 63 ] {7fb5afee-3b2e-46f3-b65b-cbd925c69a41} <Debug> executeQuery: (from [::1]:55050) OPTIMIZE TABLE graphite.data_lr PARTITION 201705
2019.06.26 19:18:30.558663 [ 63 ] {7fb5afee-3b2e-46f3-b65b-cbd925c69a41} <Information> graphite.data_lr (StorageReplicatedMergeTree): Cannot select parts for optimization
2019.06.26 19:18:30.558820 [ 63 ] {7fb5afee-3b2e-46f3-b65b-cbd925c69a41} <Debug> MemoryTracker: Peak memory usage (total): 4.00 KiB.
2019.06.26 19:18:30.558957 [ 63 ] {7fb5afee-3b2e-46f3-b65b-cbd925c69a41} <Error> executeQuery: Code: 388, e.displayText() = DB::Exception (from [::1]:55050) (in query: OPTIMIZE TABLE graphit
e.data_lr PARTITION 201705), Stack trace:

Please add a test.
It will be functional test with -- { serverError NNN } directive: look at examples around.

The test is wrong and the code doesn't build.

@alexey-milovidov I've fixed tests and now both simple and replicated MergeTree behaves identically

But the test doesn't work.

Indeed, haven't adjusted it after the latest tiny change.

Wow, it's green :) Thank you!


Enable VS Code notebooks with a built-in SQL kernel.

This set of changes enables VS Code notebooks in ADS via the preview feature flag workbench.useVSCodeNotebooks. As part of this work I had to bring in the ipynb and notebook-renderer extensions, which make up a lot of the files. These are unchanged from VS Code apart from a copyrigt header update, so you can ignore those. The rest of the changes deal with uncommenting a lot of the VS Code notebook code and adding other changes like editor file type overrides so that we don't open our own notebooks when the feature flag is set.
I also added a built-in SQL kernel for VS Code notebooks, which is contributed via the builtin MSSQL extension as the SqlNotebookController. Connection support for that kernel is currently very basic, and is provided via a status bar item at the bottom of the app (shows up as Disconnected by default), as well as a connection dialog prompt when running a cell for the first time without a connection. Connections can then be changed via the aforementioned status bar item. Intellisense works, but currently has a bug where a cell has to be clicked on twice for it to work. I'll take a look at that issue after these changes are merged in, so that I don't balloon these changes further. I also need to take a look at opening Jupyter books in a VS Code notebook by default when the feature flag is set, and will fix that in a separate PR as well.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 13 (7.69%)  changed or added relevant lines in 2 files are covered.
8 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.02%) to 41.897%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/notebook/browser/notebookActions.ts
0
12
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

extensions/sql-database-projects/src/common/httpClient.ts
1
66.18%

extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
2
50.73%

extensions/notebook/src/jupyter/serverInstance.ts
4
75.5%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
28659

Relevant Lines:
63517

💛  - Coveralls


[FR]: Change Design of Monitoring Option

Describe your idea
Remake the design of OneClickInstallation - Monitoring Checkbox

& combine it with thinking for #1180
Considered Alternatives?
--
Additional Context
Part of the Dev version for rc.20
Acknowledgment

[X] I looked through the feature requests/enhancements planned for this project before submitting a new idea

Should be better fitting @mabasian 🙏


ContentMine

[ Project Lead ] @chreman & @petermr
[ GitHub Repo ] https://github.com/ContentMine/
[ Track ] Tools: you are building a tool others can help you build
[ Level ] Intermediate
Description
ContentMine provides tools for getting papers from many online sources, normalising them, then processing them to lookup and/or search for key terms, phrases, patterns, statements, and more - all highly configurable and open source.

Want to Contribute?
Join us at the Global Sprint June 2-3. Leave a comment in this issue to let the project lead know you're interested in contributing during #mozsprint 2016!

Note to the Project Lead
Congrats, @chreman & @petermr! This is your official project listing for the Mozilla Science Global Sprint 2016. To confirm your submission, please complete the following:

[x] Provide a GitHub repository for work and discussion on your project
[ ] Confirm in a comment that at least one person will be available to review and answer questions on this project from 9-5 in their timezone on both June 2 & 3.

Hey @chremann & @petermr
I would like to help you during the sprint. Is there anything specific to do?
It makes sense to talk besides that anyway because there might be room for collaboration between our projects. (www.worldbrain.io with a special focus on STAGE 2 of our roadmap)
I will be at the "I annotate 2016" here in Berlin on Thursday.
If you are there as well, we could have a chat then.
Greetings
Oli

I will also be at IAnnotate and demo'ing our amnuaens.is system. I'm giving
a talk on 19th just before lunch. So let's talk then.
For anyone else. Love help on the sprint. We are building systems to read
and use the whole scientific literature on a daily basis. We are interested
in anyone who has scientific interest where they would like to mine for
knowledge. For example chemistry, bioscience, medical, etc. For devs we'd
love people who can convert between formats, annotate papers, etc.
On Sun, May 15, 2016 at 4:33 PM, Oliver Sauter<EMAIL_ADDRESS>wrote:

Hey @chremann & @petermr https://github.com/petermr
I would like to help you during the sprint. Is there anything specific to
do?
It makes sense to talk besides that anyway because there might be room for
collaboration between our projects. (www.worldbrain.io with a special
focus on STAGE 2 of our roadmap)
I will be at the "I annotate 2016 http://iannotate.org" here in Berlin
on Thursday.
If you are there as well, we could have a chat then.
Greetings
Oli
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mozillascience/global-sprint-2016/issues/22#issuecomment-219292515

--
Peter Murray-Rust
Reader in Molecular Informatics
Unilever Centre, Dep. Of Chemistry
University of Cambridge
CB2 1EW, UK
+44-1223-763069

All right :) Meet you then!

@acabunoc Confirming availability for questions.


Publish a new version in the marketplace

When #1, #2, #3 are done, we can publish a new version to the marketplace.
We need to be careful around the naming, as they need to be unique. This means we cannot use the Install foundationdb name because it is owned by Clikengo.

We could change to something like Setup FoundationDB, what do you think?
Todos

[ ] close #1, #2, #3
[ ] choose a new name
[ ] create tag and release(I guess 2.0.0 is good)
[ ] publish on the Marketplace

Setup FoundationDB sounds good to me 👍

I also like Setup FoundationDB :+1:


Add FAQ section

It would be beneficial to add a FAQ section. Questions could be:

What is CSAF?
Which problem is addressed by CSAF?
Can I use CSAF?
Does vendor X issues CSAF documents?

I will bring this during the TC monthly meeting tomorrow (Aug 25, 2021) to get more members to contribute to this FAQ. I will start a section in the website soon. We can probably use this issue to get feedback from the TC.

A few additional questions:

What is VEX?
Is CSAF a replacement for CVE?
Is CSAF an SBOM?

Created a placeholder here: https://oasis-open.github.io/csaf-documentation/faq and https://csaf.io/faq should redirect to it.

Fixed the link wth: https://github.com/oasis-open/csaf-documentation/commit/c36cdeb15f340a34b74641f8067bb567307aa650
Will leave this open until we collect more ideas for Questions and Answers.

https://csaf.io/faq is also now active (redirect) and csaf.io/videos


Display Texts in Hexagons

As we already discussed in this thread, it would be useful to display labels or metrics and even emojis inside the hexagons.

Seems like there's some more interest for this. I'll look at adding this during the week.

Just want to start out with saying this project is awesome, and has solved some major pain points for me :smiley:
I would also be interested in this feature. Having the option to display a field value inside of a hexagon would make it easier to understand the data when the panel is displayed in kiosk mode. Right now I need to open the dashboard on my computer and hover over the cell to get this information.
I have done very little Grafana plugin work so don't really know who difficult this would be to add.

@phillebaba Thanks! ❤ If you know your way around TypeScript (but new to plugins), and would like to try contributing, I'd be happy to walk you through the plugin. If you're interested, we could hop into a call (Calendly).

👋 Would just like to add a +1 to this feature request -- it seems like this plugin is the best alternative to polystat for table data, but not having anything displayed in the tiles is a bummer.

I took a stab at it and got a simple solution working, I can create a draft PR this weekend. My major blocker right now is figuring out SVG text sizing so that it fits within the polygon. Does anyone have any pointers for how this could be solved?

Nice! I had a go at adaptive text sizing in another plugin, but haven't merged it yet since it does seem to come with a pretty hefty performance hit. I imagine it would be even worse for this plugin.
Maybe check it out and see if you can figure out if there's anything we can improve it?
https://github.com/marcusolsson/grafana-treemap-panel/pull/13


Allow to use git.cmd in addition to git.exe

In respect of #682 and https://cmake.org/Bug/bug_relationship_graph.php?bug_id=9879.

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

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks for helping us get to the bottom of this!


Make moor more seamless

Take the seamlessness of moor to the next level. Broadly, this is what I'm looking at

No need to enter username/password once or more than once when you fire moor post install
No annoying Tunnelblick dialogs should popup asking for user interaction when moor is in operation
Auto reconnect all profiles and stay connected (#3)

Point 3, is a separate issue #3

Done a303f022bc1ec48811495a79f2791e4c75198ce3


Update soroban-{sdk, auth, example, cli} versions

Update soroban-{sdk, auth, example} to version 0.3.2
Update soroban-cli version to 0.3.3

Preview is available here:http://soroban-docs-pr245.previews.kube001.services.stellar-ops.com/

There might be a page here where we need to change .data() to .storage().

Preview is available here:http://soroban-docs-pr245.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr245.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr245.previews.kube001.services.stellar-ops.com/


Mistaken switching from code generation into conversation

Describe the bug
On my first prompt to the system I requested that it generates a todo app (like your vite conf presentation), but my prompt included more specific details about what deps/db to use. At a certain point near the end of the generation process it suddenly switched into generating the code as a conversation response to me, rather than into the editor.

Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-jwuwic
Steps to reproduce

Prompt the AI with the following text:
"Please create a todo list web app that uses nextjs framework, tailwindcss and daisy ui for styling and ui, and next-auth for a credential based authentication system. please add mongodb calls with mongoose for data persistence ( these data calls can be mocked if you dont have access to a running mongodb instance). Please include a landing page with mock pricing model, and an option to sign up and login on an auth page. we will leave payment integration out for now and assume an unlimited free tier of features. Successful signup or login should bring the user to a dashboard that includes the todo app functionality"
Observe generation of code begin, and at some point switch over to inputting the code into a conversation response. Code ends and it includes the npm commands to run the app. After that, it's intended response follows in the chat.
Describing the issue to it and asking it to fix the problem results in a message "There was an error processing your request" at the bottom of the chat thread.

Expected behavior
Bolt is able to use a specific prompt to fully generate the initial project described in it, without switching code output over to the conversation message. Conversation message response should only begin after the code has been generated and any terminal commands have been run by the LLM.
Screen Recording / Screenshot
Multiple screenshots used to display the chat conversation as it is scrolled down:

... then it begins code generation:

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 129
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 63235043,
  "usedJSHeapSize": 58545751,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = wforbes
Chat ID = fbb60d50fe0f

Additional context
Message:
: null };
}

export async function connectToDatabase() {
  if (cached.conn) {
    return cached.conn;
  }

  if (!cached.promise) {
    const opts = {
      bufferCommands: false,
    };

    cached.promise = mongoose.connect(MONGODB_URI!, opts).then((mongoose) => {
      return mongoose;
    });
  }

  try {
    cached.conn = await cached.promise;
  } catch (e) {
    cached.promise = null;
    throw e;
  }

  return cached.conn;
}
</boltAction>

<boltAction type="file" filePath="models/User.ts">
import mongoose from 'mongoose';

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: [true, 'Please provide a name'],
    maxlength: [60, 'Name cannot be more than 60 characters'],
  },
  email: {
    type: String,
    required: [true, 'Please provide an email'],
    unique: true,
    lowercase: true,
    trim: true,
  },
  password: {
    type: String,
    required: [true, 'Please provide a password'],
    minlength: [6, 'Password should be at least 6 characters long'],
  },
}, { timestamps: true });

export default mongoose.models.User || mongoose.model('User', UserSchema);
</boltAction>

<boltAction type="file" filePath="models/Todo.ts">
import mongoose from 'mongoose';

const TodoSchema = new mongoose.Schema({
  text: {
    type: String,
    required: [true, 'Please provide a todo text'],
    maxlength: [300, 'Todo text cannot be more than 300 characters'],
  },
  completed: {
    type: Boolean,
    default: false,
  },
  userId: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User',
    required: true,
  },
}, { timestamps: true });

export default mongoose.models.Todo || mongoose.model('Todo', TodoSchema);
</boltAction>

<boltAction type="file" filePath="components/auth-provider.tsx">
'use client';

import { SessionProvider } from 'next-auth/react';

export default function AuthProvider({ children }: { children: React.ReactNode }) {
  return <SessionProvider>{children}</SessionProvider>;
}
</boltAction>

<boltAction type="shell">
<command>npm install && npm run dev</command>
</boltAction>
</boltArtifact>

I've created a todo list web app using Next.js, Tailwind CSS, DaisyUI, and NextAuth for authentication. The app includes a landing page with a mock pricing model, sign-up and login functionality, and a dashboard with todo list management.

Here's a summary of the changes and additions:

1. Updated `package.json` with necessary dependencies.
2. Modified `tailwind.config.ts` to include DaisyUI and custom theme settings.
3. Created authentication pages (`signin` and `signup`) and API routes.
4. Implemented a dashboard page with todo list functionality.
5. Added API routes for todo CRUD operations.
6. Created MongoDB models for User and Todo.
7. Set up database connection utility.
8. Added an AuthProvider component for Next-Auth integration.

The app now has the following features:

- Landing page with mock pricing model
- User authentication (sign up and login)
- Todo list management (add, toggle, delete todos)
- Responsive design using Tailwind CSS and DaisyUI components

To run the application, make sure to set up the `MONGODB_URI` environment variable in a `.env.local` file. You'll also need to add `NEXTAUTH_SECRET` for NextAuth to work properly.

The development server is now running. You can start testing the application by opening the provided local server URL in your browser.

Follow up: I attempted 3 times to ask it to regenerate the ./lib/db.ts file once the "There was an error processing your request" message disappeared. The result was it appeared to correctly regenerate that ./lib/db.ts file.. however as soon as it was done the code file instantly reverted back to the original incomplete state.
https://github.com/user-attachments/assets/af1626a3-c37b-4003-8d33-3e0f5bcacfa0

Follow up: I attempted 3 times to ask it to regenerate the ./lib/db.ts file once the "There was an error processing your request" message disappeared. The result was it appeared to correctly regenerate that ./lib/db.ts file.. however as soon as it was done the code file instantly reverted back to the original incomplete state.
2024-10-03_23-29-09.mp4

This instance of the issue was solved by prompting it to instead create a new database connection file that would serve the same purpose as ./lib/db.ts and leave the original file alone for now. Exact prompt:
"The problem is still persisting. Instead, could you please generate a new database file that will serve the same purpose as ./lib/db.ts and generate that code in the new file while leaving ./lib/db.ts alone for now?"
I hope that this report can help give insight into the issue of Bolt.new switching between code generation and chat response output, then the lock-up on the incomplete file it stopped generating in. I will stop commenting here now. Thanks for reading, I understand all tools are imperfect and I very much appreciate all your efforts on the project so far. Cheers!

Similar issue here:

I had same issue too. I hope it is solved

@wforbes How did you add video to that comment though?

@wforbes How did you add video to that comment though?

The 'Paste, drop, or click to add files' button below comment text input box allows for adding video files. I recorded it with OBS Studio app with small resolution setting. Another option you can consider is ScreenToGif which creates animated gifs from your screen.

Hey everyone! Thanks a lot for the report! :smiley:
We're tracking this issue internally and will let you know when we have a fix in place.

@wforbes How did you add video to that comment though?

The 'Paste, drop, or click to add files' button below comment text input box allows for adding video files. I recorded it with OBS Studio app with small resolution setting. Another option you can consider is ScreenToGif which creates animated gifs from your screen.

Thanks a lot man 🙌❤👌🚀

We have deployed a fix for this issue! It should work as expected now. :tada:
If you run into more issues, feel free to open a new one! :raised_hands:
For users still seeing AI messages into files, we're tracking this issue under #24


Unsure if I have the right use case

Hello,
I'm currently working with a problem where I have a dataset where I have 7500 data points and 3 features. I'm looking to find the pareto set of possible combinations of my 3 features, and then make a decision of what to use based on the set. I believe that pymoo (or something like it) could be used to solve this issue, but I can't quite figure out how.
I've come up with a single, basic optimization function and one constraint. However I'm not how/where/if it is possible to pass my dataset to be optimized over. I'm trying with just two of the features to see if I can get something working, but I don't think I'm getting a good result. It takes a few seconds per iteration to run and in the end it only gives me one datapoint in the scatterplot. I feel like I'm doing something incredibly wrong. Would appreciate any help!
data # 7500,2 matrix

class MyProblem(Problem):
    def __init__(self, dataset):
        super().__init__(n_var=2,
                         n_obj=1,
                         n_constr=1,
                         xl=np.array([-800, -2]),
                         xu=np.array([2800, 1]))

        self.dataset = dataset

    def _evaluate(self, X, out, *args, **kwargs):
        f1 = self.dataset[:, 0] + self.dataset[:, 1]

        g1 = self.dataset[:, 0] # only values less than 0 are valid

        out["F"] = f1
        out["G"] = g1

problem = MyProblem(data)

algorithm = NSGA2(pop_size=7500)

res = minimize(problem, algorithm, ("n_gen", 5), verbose=True, seed=1)

plot = Scatter()
plot.add(res.F, color="red")
plot.show()

Optimizing over a data set can be done the way you do it. Pass the data to the constructor and use it in the _evaluate function.
Solving a single-objective problem will only result in one data point. There is no second objective to be in trade-off with.

Right, that makes sense. I thought my two features would be on the X and Y axis but I understand now.
Would it be feasible to just have each feature be its own optimization function? Or if I get to more than 3 or so is that unreasonable?

You can use two objectives, where one input is directly mapped to an objective.
f1 = ...
f2 = X[:, feature]
out["F"] = np.column_stack([f1, f2])

However, not knowing your optimization problem and just looking at your code snippet I have some doubts if you have already clearly formulated your optimization problem.
Also, keep in mind NSGA2 is known to not scale well with an increasing number of objectives. I recommend using NSGA3 for three or more.

Hahaha, I also have doubts that I clearly formulated my optimization problem. A bit more explanation - I have generated a dataset via simulations and I have added various features/metadata that I think correlate with better out of sample performance. It is difficult to come up with a cost function because it is difficult to calculate the value of a feature compared to another. Bringing them into the same unit space where I can quantify tradeoff is not something I know how to do.
I just know I want to calculate the pareto set of my features that dominate the rest, then I can make a choice from that.
Thank you for the advice re: NSGA3. I'll close this now as I believe you've answered my question. Thank you again.

If you just want to find non-dominated solutions you should have a look at the class NonDominatedSorting. This does exactly that given the matrix F where each column is an objective.


fix-undefined-formatcode

Removed a useless or condition that caused a {'undefined': undefined}  entry to be added  to the worksheet.formatCodes object. This is because the cellStyleXfs element never has a formatCode attribute.
Having that entry can cause parsing errors, because if no numFmt tag is present worksheet workbook.hasFormatCode is erroneusly set to true, so strings end up parsed with the 0 format code , resulting in a NaN.
You can reproduce the issue with included test case nonumfmts.xslx

Thank you!


Composite roles

Just adding composite roles it might not work 100%, feel free to use it as you want. Sorry didn't add this before.

Thank you @cesarvr .


@Size annotation on List<String> causes incorrect openapi spec to be generated.

Hopefully this is the correct library to handle this issue; I was referred here from https://github.com/springdoc/springdoc-openapi/issues/2337 -- apologies if I got it wrong.
Using a simple DTO can reproduce this issue:
@Data
static class RequestDto {
    @Size(min = 1, max = 5)
    @Schema(description = "List of values.")
    private List<String> values;
}

The @Size validation is only (correctly) applied to the list size. However, the api spec itself is showing this:

Essentially, the API spec is stating that:

the list must be between 1 and 5 elements (correct);
the length of the string of each element must be between 1 and 5 characters (incorrect)

You can also see that the description is also being duplicated from the array down to the element as well. I am uncertain if this is intentional and or desirable so not sure if that should also be considered a bug as well.

Note that the actual runtime validation is only applied to point1 above (correct behavior IMO).
Point2 is not enforced by the validator at runtime even though the generated API spec is indicating that the string should be between 1 and 5 characters in length.
This also just started occurring when we updated springdoc-openapi-starter-webmvc-ui to 2.2.0 (from 2.1.0).

It seems this bug was introduced in version 2.2.13 and still exists in 2.2.15 (currently latest version).

the problematic part (introduced in https://github.com/swagger-api/swagger-core/pull/4429)
        if (annotatedType.getCtxAnnotations() != null) {
            strippedCtxAnnotations.addAll(Arrays.stream(
                    annotatedType.getCtxAnnotations()).filter(
                    ass -> !ass.annotationType().getName().startsWith("io.swagger")
            ).collect(Collectors.toList()));
        }

where annotatedType is, in this case, List and when we try to resolve the schema for the value type of this collection, i.e., String, we are passing down the annotations applied to the container also to the value type.
@frantuma any suggestion how we can resolve this regression?

Thanks for reporting and analyzing this!
It has been addressed in #4500 by excluding also javax.validation annotations from "custom annotation processing".

Thank you! Quick question based on the PR: will this also work for jakarta.validation? javax.validation is effectively deprecated now I believe?

yes it will

Do you know already when will the next release be?

no fixed ETA but should be next 1-2 days


yotta command line tool requires ARM mbed account

The yotta tool requires a registered, verified account with ARM mbed in order to function correctly.
While ARM mbed accounts are freely available to the public, this is atypical behaviour in open source projects, especially when the functions it is performing is cloning/downloading drivers and libraries which should also be publicly available.
yotta may have the option of using an account, since it appears that there is an attempt to build a community for mbed projects; however, it should not be required.

+1

+1

+1

Hi @kilogram we're aware of this issue -- right now we need this for ARM-internal process reasons but we're working to find a way of removing the need for the login.

We have removed the need to log in to yotta for read-only access.