Promises are not Serializable

If I want to transmit a promise from server to client using Object Serialization with BinaryFormatter, it will throw an exception because Promise class don't have attribute [Serializable]
Error:
Type 'RSG.Promise`1[[System.Boolean, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]' in Assembly 'RSG.Promise, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7019fe0722eef3a4' is not marked as serializable.

I'm not sure why you would want to serialise a promise and send it across the network. A more common use-case would be to use a promise on the client-side to manage an asynchronous request to the server and resolve the promise with the raw data from the server once you receive it. This way the actual promise object never needs to be sent around.
You can think of promises as wrapping up a piece of data that is requested asynchronously, but in this case I think it's more beneficial to think of the promise representing the action of requesting the data than the data itself.


ci: switch to the ruby/setup-ruby action

What problem is this PR intended to solve?
This switches the setup-ruby action to the one created by the
ruby organisation which has more
advanced features than the one already in use.
Most notably, this handles installing Bundler, bundling, and caching the
resulting bundle.
Have you included adequate test coverage?
Yes, which is to say it hasn't changed any code or tests, just how they
are run.
Does this change affect the behavior of either the C or the Java implementations?
No, just how CI runs, and you can see the results on this PR 😄.

@parndt Sweet! Thanks very much for showing us how to do this. Merging!

@parndt Sweet! Thanks very much for showing us how to do this. Merging!

@flavorjones you're very welcome; thanks for all the work on Nokogiri! Happy to have helped. 🎉

@flavorjones you're very welcome; thanks for all the work on Nokogiri! Happy to have helped. 🎉


Send google analytics events

Looking for a second set of eyes on the analytics parameters.
Also, unsure if we care about defining the empty "sendGoogleAnalyticsEvent" for our local case. It would only cause console errors, nothing noticeable functionality-wise.

Feedback: Instead of littering the code with onClick handlers, set up a 'click' eventlistener on the window level and  decide not to send events based on class. Investigating what that would look like...


Fixed typo Turnup should be burnup in link text on add-widget-to-dashboard.md

@KathrynEE
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Roll Engine from e831433a20ca to 0c6c265a6f38 (3 revisions)

https://github.com/flutter/engine/compare/e831433a20ca...0c6c265a6f38
2020-09-11<EMAIL_ADDRESS>Disable iOS ScenariosTests suite (flutter/engine#21080)
2020-09-10<EMAIL_ADDRESS>Disable a flaky Scenarios test (flutter/engine#21075)
2020-09-10<EMAIL_ADDRESS>Roll Skia from 3d41d509a6a9 to fb5e0ebef07c (1 revision) (flutter/engine#21072)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Unable to de-reference nested array in parsed JSON response

#Hello Team ,
I am developing an automation code which would validate the API response with json structure defined in OpenSpec YAML file
I am trying to use the parser to parse one of our OpenSpec YAML files and decode the response values as proper JSON but the parsed value comes back as "[Object]" instead of the value.  It is part of "$ref" attribute which I believe is not getting resolved properly. Sharing the snippet of response which I would to receive as parsed JSON in proper structure
Snippet from YAML
FavouritesEnvelopedResponse:
      type: object
      description: A response body contract for a collection of favourites
      properties:
        favourites:
          type: array
          items:
            $ref: "#/components/schemas/FavouriteResponse"

 FavouriteResponse:
      type: object
      description: A response body contract for a favourite workspace item
      properties:
        id:
          type: string
          description: The ID of a user favourite
          example: "9090"
        user_id:
          type: string
          format: UUID
          description: The ID of a user
          example: "e13f885c-cf07-480f-a17c-8de1a5940ad9"
        workspace_item:
          $ref: "#/components/schemas/WorkspaceItemResponse"

Javascript code using the json-schema-ref-parse
const fs = require("fs");
const path = require("path");
const $RefParser = require("json-schema-ref-parser");
const schemaFilePath = path.join(__dirname, "xxx.yaml");
resolveSchema();
async function resolveSchema() {
  try {
      const dereferencePromise = await $RefParser.dereference(schemaFilePath);
      console.log(dereferencePromise.components.schemas.FavouritesEnvelopedResponse);
  } catch (error) {
    console.error("Error resolving schema:", error);
  }
}

Received Output
{
  type: 'object',
  description: 'A response body contract for a collection of favourites',
  properties: { favourites: { type: 'array', items: [Object] } }
}

Expected Output
Instead of items: [Object] would like to see the actual resolved array Object resolving to appropriate JSON structure

Is that just your default object output?
Try doing console.log(JSON.stringify(...)) instead

Is that just your default object output?
Try doing console.log(JSON.stringify(...)) instead

This is the error i get if i try to wrap it using JSON.stringify()
Error resolving schema: TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
|     property 'properties' -> object with constructor 'Object'
--- property 'parent_folder_workspace_item' closes the circle
at JSON.stringify ()
at resolveSchema (/Users/ragavimuthukrishnan/Apromore-playwright-tests/tests/api/schemas/sample.test.js:15:24)
Error: No tests found.
Make sure that arguments are regular expressions matching test files.
You may need to escape symbols like "$" or "*" and quote the arguments.


Minor documentation fix

Correct a tiny typo in the note section
What issue does this PR address?
A minor typo in the note section of the docs
Does this PR introduce a breaking change?
No, it's a doc fix
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features)

Other information:

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


Unable to un-minify source code

Environment
What version are you running? Etc.
"@sentry/webpack-plugin": "^2.0.0",
"@sentry/react": "^7.28.0",
"@sentry/tracing": "^7.28.0",

Steps to Reproduce

I'm currently using react-app-rewired, with the following config for sentryWebpackPlugin:

      org: <org>,
      project: <proj>,
      authToken: process.env.SENTRY_AUTH_TOKEN,
      debug: false,
      sourcemaps: {
        assets: "./build/**",
        ignore: ["./node_modules/**"],
        ignoreFile: "./gitignore",
      },
      // Use the below option because SDK version is lower than 7.47.0:
      release: {
        name: process.env.npm_package_version,
        deploy: { env: process.env.REACT_APP_STAGE },
        uploadLegacySourcemaps: {
          // I notice in docs.sentry.io uses `include` here https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/webpack but it didn't look like a valid option in the npm docs https://www.npmjs.com/package/@sentry/webpack-plugin
          urlPrefix: "~/static/js",
          paths: ["./src/**", "./build/**"],
          ext: [".js", ".jsx", ".ts", ".tsx"],
          ignore: ["node_modules", "**/node_modules/**", "./src/__mocks__", "**/__tests__/**", "**/__test__/**"],
        },
      },
    }),

Run npm run build
Source maps and source code gets uploaded to Sentry with a release version.
On build, source maps is uploaded to Sentry in 3 bundles:
My actual source code,
The build artifacts below:

And a bundle with the debug id:

Run serve -s build and throw an error in the app

Expected Result
In the sentry issue it should show where the error was.
Actual Result
Sentry issue gives the following warning:

Hey, I recommend you update the SDK and the bundler plugins to the newest version instead of using uploadLegacySourcemaps it will be much simpler thanresolving this.

Cheers, I ended up updating to the latest versions and it worked with the plugin. Would appreciate if we have updated docs for both the legacy and current options to know what are the primary options to focus on

@Wesleyzxc thanks for the feedback. :) This was a rather big undertaking - both in the plugin and in the Sentry backend - so we're just now in the process of adjusting the docs.

How will we know when there is some accurate information about this? 3 days later and still not managed to get sourcemaps to work. There is just so much conflicting information out there as folks seem to be opting for trial and error development. Great that it has all been re-written, but very frustrating that there is not a clear way to use it. It is a real show stopper.


No way to get which is the current main screen from EditorPlugin

Godot 3.1 alpha2
When a plugin is activated and needs to be visible only in one of the main screens, it has to get which main screen is currently active. However there is only the main_screen_changed signal to know that, and this obviously doesn't trigger when you activate a plugin. So when such a plugin is activated, you are forced to switch screens back and forth to make it work.

Closing in favor of this proposal: https://github.com/godotengine/godot-proposals/issues/2081


How to remove transparent background ?

sorry for not noticing this earlier, was busy getting fired from work, regardless @xenoxanite would ya mind provide a bit more context, as in what application has transparent background or which template gets transparent background?

sorry for not noticing this earlier, was busy getting fired from work, regardless @xenoxanite would ya mind provide a bit more context, as in what application has transparent background or which template gets transparent background?

just delete this issue. sorry, there is a nvim plugin called pywal16-complete. i was trying to create issue there. but for my mistake i did it here.

got link? now i'm interested in the nvim plugin cuz i have plans to build a nvim colorscheme "proper" after pushing the next release of pywal16

got link? now i'm interested in the nvim plugin cuz i have plans to build a nvim colorscheme "proper" after pushing the next release of pywal16

https://github.com/uZer/pywal16.nvim


cursor.close() does not raise possible ODBC errors

cursor = connection.cursor()
cursor.executemanycolumns(...)  # the data here may violate DB constraints

cursor.close()
# internal implementation:
#     cursor.impl = None
# Python destructs the inner cursor impl and prints to stdout:
#     Error while freeing statement handle: ODBC error
#     state: 27003
#     native error code: -1
#     message: [EXASOL][EXASolution driver]constraint violation - foreign key (...) (Session: ...)
#
# Instead, it should raise an exception either here or:
connection.commit()
# ^ that should raise

Background information on this can be found in Exasol support tickets

https://www.exasol.com/support/browse/EXA-7718
https://www.exasol.com/support/browse/EXA-5857


hive查询分区数据过滤失败，已经稳定复现

SR:3.2.3 ,部署3节点1fe3cn(其中一台fe cn混合部署 jdk-17)
hive:华为MRS-3.1.0
数据存储在OBS上
执行sql如下:
SELECT   vin,   dt AS date_id,   COUNT(groupid) AS air_condition_activate_cnt,   ROUND(MIN(contin_minutes) / 60, 4) AS min_contin_hours,   ROUND(MAX(contin_minutes) / 60, 4) AS max_contin_hours,   ROUND(AVG(contin_minutes) / 60, 2) AS avg_contin_hours,   ROUND(SUM(contin_minutes) / 60, 4) AS daily_sum_contin_hours,   ROUND(MIN(min_HVAC_RefrigerantPr), 2) AS daily_min_HVAC_RefrigerantPr,   ROUND(MAX(max_HVAC_RefrigerantPr), 2) AS daily_max_HVAC_RefrigerantPr,   ROUND(AVG(avg_HVAC_RefrigerantPr), 2) AS daily_avg_HVAC_RefrigerantPr,   ROUND((     SUM(low_condition_temp_contin_minutes) / SUM(contin_minutes)   ), 4) AS low_temp_rate,   ROUND((     SUM(high_wind_speed_contin_minutes) / SUM(contin_minutes)   ), 4) AS high_wind_speed_rate,   ROUND((     SUM(outside_circulation_contin_munutes) / SUM(contin_minutes)   ), 4) AS outside_circulation_rate,   ROUND(AVG(avg_exter_temp), 2) AS avg_exter_temps,   ROUND(MAX(max_exter_temp), 2) AS max_exter_temps FROM (   SELECT     vin,     dt,     groupid,     MIN(message_time) AS start_time,     MAX(message_time) AS end_time,     COUNT(message_time) AS contin_minutes,     ROUND(MIN(HVAC_RefrigerantPr), 2) AS min_HVAC_RefrigerantPr,     ROUND(MAX(HVAC_RefrigerantPr), 2) AS max_HVAC_RefrigerantPr,     ROUND(AVG(HVAC_RefrigerantPr), 2) AS avg_HVAC_RefrigerantPr,     ROUND(SUM(high_wind_label), 2) AS high_wind_speed_contin_minutes,     ROUND(SUM(low_condition_temp), 2) AS low_condition_temp_contin_minutes,     ROUND(SUM(whether_outside_circulation), 2) AS outside_circulation_contin_munutes,     ROUND(AVG(exter_temp), 2) AS avg_exter_temp,     MAX(exter_temp) AS max_exter_temp   FROM (     SELECT       vin,       dt,       message_time,       HVAC_RefrigerantPr,       low_condition_temp,       high_wind_label,       whether_outside_circulation,       exter_temp,       SUM(dlt_flag) OVER (PARTITION BY vin ORDER BY message_time rows BETWEEN UNBOUNDED preceding AND CURRENT ROW) AS groupid     FROM (       SELECT         vin,         dt,         message_time,         CAST(HVAC_RefrigerantPr AS DOUBLE) AS HVAC_RefrigerantPr,         CASE WHEN CAST(HVAC_DriverTempSelect AS DOUBLE) < 20 THEN 1 ELSE 0 END AS low_condition_temp,         CASE WHEN CAST(HVAC_WindExitSpd AS INT) > 4 THEN 1 ELSE 0 END AS high_wind_label,         CASE WHEN CAST(HVAC_AirCirculationSt AS INT) = 2 THEN 1 ELSE 0 END AS whether_outside_circulation,         CASE           WHEN CAST(VCU_aiTAmbBD AS DOUBLE) = -50           THEN NULL           WHEN CAST(VCU_aiTAmbBD AS DOUBLE) = 20           THEN NULL           WHEN CAST(VCU_aiTAmbBD AS DOUBLE) = 85           THEN NULL           ELSE CAST(VCU_aiTAmbBD AS DOUBLE)         END AS exter_temp,         CASE           WHEN (             UNIX_TIMESTAMP(message_time) - UNIX_TIMESTAMP(               LAG(message_time, 1, current_timestamp) OVER (PARTITION BY vin ORDER BY message_time)             )           ) <= 121           THEN 0           ELSE 1         END AS dlt_flag       FROM hive.ods_enterprise.g05_new_enterprise_tel_ul_tx AS g05_new_enterprise_tel_ul_tx       WHERE         CAST(dt AS DATE) >= DATE_ADD(CAST('20230-05-01' AS DATE), INTERVAL -2 DAY)         AND CAST(dt AS DATE) <= DATE_ADD(CAST('20230-05-01' AS DATE), INTERVAL -1 DAY)         AND vin = '1'         AND CAST(BCM_KeySt AS INT) = 2         AND CAST(VCU_BMS_BatModeReq AS INT) = 2         AND CAST(VCU_stSupBD AS INT) IN (89, 90)         AND CAST(BMS_HVBattSt AS INT) = 4         AND CAST(HVAC_ACSt AS INT) = 1         AND CAST(HVAC_AirCompressorReq AS INT) = 1     ) AS t1   ) AS t2   GROUP BY     vin,     dt,     groupid   HAVING     COUNT(1) >= 5     AND MAX(CAST(dt AS DATE)) = DATE_ADD(CAST('20230-05-01' AS DATE), INTERVAL -1 DAY)     AND MAX(message_time) < DATE_ADD(CAST(DATE_ADD(CAST('20230-05-01' AS DATE), INTERVAL 0 DAY) AS DATETIME), INTERVAL -61 SECOND) ) AS t3 GROUP BY   vin,   dt ORDER BY   date_id;
其中fe,cn通过进程ID得知依然存活.
explain 结果如下:此分区数据在hive实际不存在的

正常存在于hive分区的explain图

20300 is an invalid date format.


Email Verification Issue

User-id is None after clicking on Email Verification link.

Fix:
Decoupled email sending from role conditions within the transaction scope.
Implemented asynchronous email dispatch after the database commit to ensure user data persistence before email triggers.


Add EC2 Spot pricing information

This implements #109.
Current status:

adds Spot price to the EC2 pricing scraper
data seems to be added correctly to instances.json, we now have a list of Spot prices within a region, as well as the min/max values saved as additional fields, which are also shown in the UI. The list can potentially be used for some automation use cases, but may need to be enriched a bit, maybe with some physical AZ information.
data is exposed to the UI as shown in the screenshot below
data is now shown for all instance types and seems correct

M5DN.xlarge in Frankfurt, compared to the AWS console pricing history view to see that data matches

Same M5DN.xlarge in Frankfurt, but with monthly view:

You can see this live at  https://spot-on-ec2-instances-info.netlify.app/
This work was contributed by Amazon AWS.

@cristim Thanks for this. Do you happen to know how often spot prices update? We can decrease the time between builds to make sure it is up-to-date.

@brookemckim thanks for merging this, I really appreciate it, it's been something I wanted to see for a lot of time

The prices change by a small increment nowadays, if you look at the pricing history it's pretty constant over time so I think a daily build should be fine.


Fix misimplements for stream importer found while testing on the real-life COCO2017 object detection dataset

Summary

Fix broken is_stream test
Fix StreamDataset.import_from(path, format="coco_instances") actually create Dataset not StreamDataset.
To speed up, let the initial length of _CocoBase(stream=True) can be obtained from COCOPageMapper.
Speed up parsing the "categories" section when it is at the end of JSON file.
To speed up, change caching logic and size slightly.
Fix _CocoBase(stream=False) abruptly raising an error when the progress reporter is given.
Add COCOExtractorMerger to handle "coco" import which should merge extractors across the tasks.

How to test
I manually tested the following code on the real-life COCO2017 object detection dataset.
from datumaro.components.dataset_base import DatasetItem
from datumaro.components.dataset import StreamDataset, Dataset
from time import time
from datumaro.components.progress_reporting import TQDMProgressReporter
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--stream", action="store_true", help="Use stream importer")

def upload_to_geti_db(item: DatasetItem) -> None:
    # Hi, I'm mock!
    pass

if __name__ == "__main__":
    args = parser.parse_args()
    start = time()

    dataset = (
        StreamDataset.import_from(
            "coco_json", format="coco_instances", progress_reporter=TQDMProgressReporter()
        )
        if args.stream
        else Dataset.import_from(
            "coco_json", format="coco_instances", progress_reporter=TQDMProgressReporter()
        )
    )

    for item in dataset:
        upload_to_geti_db(item)

    print(f"Done. Elapsed time: {time() - start:.2f}s")

Results:

No stream

(datumaro-basic) vinnamki@vinnamki:~/datumaro/ws_datum/coco$ mprof run --python python test_perf.py
mprof: Sampling memory every 0.1s
running new process
running as a Python program...
WARNING:root:File 'coco_json/annotations/person_keypoints_val2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/person_keypoints_train2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/captions_train2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/captions_val2017.json' was skipped, could't match this file with any of these tasks: coco_instances
Parsing image info in 'instances_val2017.json': 100%|██████████████████████████████████████████████████| 5000/5000 [00:00<00:00, 77041.13it/s]
Parsing annotations in 'instances_val2017.json': 100%|███████████████████████████████████████████████| 36781/36781 [00:01<00:00, 32391.89it/s]
Parsing image info in 'instances_train2017.json': 100%|████████████████████████████████████████████| 118287/118287 [00:01<00:00, 83969.43it/s]
Parsing annotations in 'instances_train2017.json': 100%|███████████████████████████████████████████| 860001/860001 [00:27<00:00, 31262.75it/s]
Done. Elapsed time: 38.17s

Stream

(datumaro-basic) vinnamki@vinnamki:~/datumaro/ws_datum/coco$ mprof run --python python test_perf.py --stream
mprof: Sampling memory every 0.1s
running new process
running as a Python program...
WARNING:root:File 'coco_json/annotations/person_keypoints_val2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/person_keypoints_train2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/captions_train2017.json' was skipped, could't match this file with any of these tasks: coco_instances
WARNING:root:File 'coco_json/annotations/captions_val2017.json' was skipped, could't match this file with any of these tasks: coco_instances
Parsing image info in 'instances_val2017.json': 100%|███████████████████████████████████████████████████| 5000/5000 [00:01<00:00, 3650.78it/s]
Parsing image info in 'instances_train2017.json': 100%|█████████████████████████████████████████████| 118287/118287 [00:39<00:00, 3027.10it/s]
Done. Elapsed time: 238.61s

Checklist

[ ] I have added unit tests to cover my changes.
[ ] I have added integration tests to cover my changes.
[x] I have added the description of my changes into CHANGELOG.
[ ] I have updated the documentation accordingly

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below).

# Copyright (C) 2023 Intel Corporation
#
# SPDX-License-Identifier: MIT

I am not sure how COCOExtractorMerger is operated across tasks and what difference from the original ExtractorMerger. Could you clarify this?

Let's assume we import tests/assets/coco_dataset/coco as "coco" format.
This will have two extractors for the val subset:

annotations/captions_val.json
annotations/instances_val.json

Both extractors have a dataset item (id=40), but different annotations.
Therefore,  COCOExtractorMerger should merge the two dataset item into one.


[Feature]: Support HTML header tags

I'm submitting a

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Enhancement
[x] Feature request
[ ] Documentation issue or request

Description
Could we add H1, H2, H3 headers as well please ?

Yeah, Why not. Its already on my task list.

Hi @Sibiraj-S ! Any news on this? We're also waiting for this 😄

Hi, @danielcarlan . I am doing a major re write to ngx-editor and upgrading to Angular 6. I am quite busy recently with someother tasks here and I was unable to spend enough time with it. That will be the next thing I will work on after Upgrade. It will be released along with v4.0


Persistent Subscription Handler function has wrong signature.

https://github.com/PrestaShopCorp/nestjs-geteventstore/blob/3a14375624d53521fa3aad698c6729f1234dbf59/src/event-store/services/event-store.service.ts#L308
This doesn't look correct. Payload will always be undefined and will break. Please advise

Possibly. It seems this issue stems from the subscription leveraging 'node-eventstore-client' instead of @eventstore/db-client.
I'll look into a fix.
For now I just modified juicyclef's package to create persistent subscriptions and use append to individual aggregate streams.

Juicyjeffs package uses eventstore 5.x. This package supports that in 4.x branch and the master branch should support eventstore 20.x


[ios] Add tests, fix bugs & other improvements

[x] Fixes #170
[x] Fixes #169
[x] Adds removeUpcomingTracks method
[x] Adds getQueue method which will provide the original objects passed
[x] Adds improvements to iOS reconnection strategy
[x] Adds test on iOS to help keep stability and find bugs
[x] Updates example to use media center controls + android notification
[x] Fix bugs in adding and removing tracks

@Guichaguri I think it'd be good if you read through the test cases. Will help align Android to a standard ⭐ Also it'd be cool if you could implement the two new methods on Android.

please update the package in npm :)

@alangumer 0.2.4 has now been released! 🎉


Update packages with overrides

Also updated tar and ssri.

@aryan-rajoria could you kindly help test the docker types including .tar files created using docker save command? There should be no difference in the generated sbom.

I have found some differences:
between tagged and .tar docker images, using dep-scan as example:
depscansha.json
depscantar.json

with version 10.10.4:
depscantar-v4.json
depscansha-v4.json

After bug fix:
depscantar-u1.json
depscansha-u1.json


Uploading files for findings using APIv2 does not work

Discussed in https://github.com/DefectDojo/django-DefectDojo/discussions/5500

Originally posted by fuzzah November 11, 2021
I need to attach some binary files (not text) to my findings in DefectDojo.
Here's method I wrote based on similar methods of DefectDojoAPIv2:
def upload_file_for_finding(self, finding_id: int, file_title: str, file_path: str) -> bool:
    with open(file_path, "rb") as f:
        filedata = f.read()

    data = {
        "title": ('', file_title),
        "file": filedata,
    }
    resp = self.api._request(
        "POST",
        f"findings/{finding_id}/files",
        files=data,
    )

    return resp.response_code == 200

(self.api is instance of DefectDojoAPIv2)
While response code I get is always 200, files don't actually appear in DefectDojo.
Also tried:

POST to url f"manage_files/{finding_id}/Finding" (as in web interface)
set "title" field to file_title ( "title": file_title )
set "file" field to file descriptor ( "file": open(file_path, "rb") )

Relevant docker-compose log part when creating one finding and uploading file for it (dates removed):
django-defectdojo-nginx-1         | <IP_ADDRESS> "POST /api/v2/findings/ HTTP/1.1" 201 2930 "-" "DefectDojo_api/1.1.6.dev2" "-"
django-defectdojo-uwsgi-1         | <IP_ADDRESS> () {42 vars in 623 bytes} POST /api/v2/findings/ => generated 2930 bytes in 67 msecs (HTTP/1.1 201) 8 headers in 227 bytes (1 switches on core 0)
django-defectdojo-nginx-1         | <IP_ADDRESS> "POST /api/v2/findings/38142/files HTTP/1.1" 301 0 "-" "DefectDojo_api/1.1.6.dev2" "-"
django-defectdojo-uwsgi-1         | <IP_ADDRESS> () {42 vars in 722 bytes} POST /api/v2/findings/38142/files => generated 0 bytes in 1 msecs (HTTP/1.1 301) 3 headers in 134 bytes (1 switches on core 1)
django-defectdojo-celeryworker-1  | INFO [celery.app.trace:131] Task dojo.finding.helper.post_process_finding_save[d345b65c-c828-4f05-82a8-02a910c3326d] succeeded in 0.05184522084891796s: None

where <IP_ADDRESS> - my local ip
Note that POST to findings/{id}/files results in message "generated 0 bytes", but the file was actually 10 bytes long.
upd:
versions:
defectdojo_api @ 6f6d5e31dd2855e3e15d756b3a01a7dd8d77fdf9
DefectDojo 2.4.1 release

As said in discussions, this is a bug that needs to be fixed, PR will come soon.

merged for release 2.5.0


Bug in Chrome 68.0.3440.106

The canvas loses color when height is out of 15000px. The background-color and image become white.
When I use  the code to test,  it's normal.

I'm having similar issue in Chrome, when width is out of 15000px, background color and text become white.
Are there any workaround for this?


docs(dynamic-links): update Firebase documentation on how to receive link from terminated state

Description
As reported by this user, the iOS app could receive the link from a terminated state from either the getInitialLink method call or the event listener onLink. I believe the user can call getInitialLink before it has been passed to the app and therefore I have updated the documentation to reflect this.
If you wish to test this yourself, you can:

Run the app in release mode.
Open the app from a terminated state using a Dynamic Link you're created in the Firebase console and configured for your app.
Use the below noted, crude code snippet in your main.dart file. Open the app and note the success rate of getInitialLink. It doesn't always successfully retrieve the Dynamic Link upon app opening. It is more successful when you uncomment the Future.delayed. The onLink will always receive the opening Dynamic Link.

import 'dart:async';

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
import 'package:flutter/material.dart';

import 'firebase_options.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  MyApp({Key? key}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _linkMessage = 'no-state';

  @override
  void initState() {
    super.initState();
    initDL();
  }

  Future initDL() async {
    // FirebaseDynamicLinks.instance.onLink.listen(
    //   (event) {
    //     setState(() {
    //       _linkMessage = event.link.toString() + ' onLink';
    //     });
    //   },
    // );
    // await Future.delayed(const Duration(milliseconds: 3000));
    final initialLink = await FirebaseDynamicLinks.instance.getInitialLink();

    if(initialLink != null){
      setState(() {
        _linkMessage = initialLink.link.toString() + ' getInitialLink';
      });
    } else {
      setState(() {
        _linkMessage = 'nothing' + ' getInitialLink';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: const Text('Testing Something'),
          ),
          body: Column(
            children: [
              ElevatedButton(
                  onPressed: () {
                    setState(() {
                      _linkMessage = 'reset';
                    });
                  },
                  child: const Text('reset link')),
              Text(_linkMessage),
            ],
          )),
    );
  }
}

Related Issues
closes https://github.com/firebase/flutterfire/issues/7546
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[X] No, this is not a breaking change.

Hey @kevinthecheung, do you mind taking a look and seeing what you think? Thanks.


chore: use aws-actions/setup-sam@v2

Issue #, if available:
Description of changes:
v2 is the latest version.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

update setup-python too?

I'll leave to a separate PR, the release notes for v4 aren't entirely clear, might need to add Python version.


Possible to re-deploy a cluster with new devices/roles

Can ceph-ansible to safely deploy again with new roles or new devices added to the inventroy?
I mean, if I just added some devices to devices vars, or add some rgw servers to hosts file.
Can I run again with origin site.yml which includes all the roles safely?

sorry I suddenly posted when not finishing writing...

hmm, I may use ansible in a hacker way, the log is in json format.
http://paste.openstack.org/show/J2Y1hE5dCcgUG8ZyigNn/
If the desire result is fine to re-deploy. I will send a PR to fix it.

No activity. Closing this, feel free to re-open.


[usbdev,dv] Adds usbdev_link_in_err_vseq

This PR introduces a new sequence, usbdev_link_in_err. This addition focuses on USB device functionalty, particularly where packet reception at an IN endpoint is initiated but subsequently dropped due to an error condition, thus facilitating accurate error reporting via link_in_err.

Thanks for this PR. Superseded now that USBDEV has reached V2S status.


Extend datepicker with stepper

Description
Extend the styling of the datepicker component with an optional styling that adds a stepper to make it possible to navigate between dates similar to pagination.
Step between days, months, years, etc?

Duplicate of #810


New feature 'placement' to put picker above the input

tried to emulate existing api style and code.

Hey thanks for the contribution, but actually in version 3 it's planned to make it compatible with  Bootstrap Popover Picker, so it will be even more flexible.
https://github.com/mjolnic/bootstrap-colorpicker/pull/158

How soon is version 3 coming? Would be nice if this could be added to 2.3.4 so I could stay on your master until 3 comes out. Also this feature would be available for people tied to browser/jquery that is getting dropped in the3.

It is not backwards compatible, so it should be 3.0.0. I cannot say when It will be available, it depends on my available free time ;)


sw_renderer: refactoring in the run function of the shape

Variables 'renderShape' and 'validStroke' renamed to 'visibleFill' and 'visibleStroke'.
The same variables used instead of 'filling' and 'stroking' variables. A code related to
a shape's fill moved from the part of the code responsible for a shape preparation.

applied by this => https://github.com/Samsung/thorvg/pull/540


Added option to direct ball at object

Changes
Parameterized ball initial speed direction.
Testing
Uncomment direct_at_object in simulation.yaml, then launch sim as per usual.
For direct_at_object, you can select any URDF defined in field_setup. Can document this more later. Touching this code made me realize that some overall refactoring / documentation is required, but I will introduce this in a future PR to avoid breaking changes.

One second, a planner commit got mixed in. I need to take that out.

Is it possible to have it not always shoot for dead center goal? I think the car will just learn to park itself right in front of the goal. I think it would be better if it had to sometimes do center, sometimes do sides, sometimes it would bounce off the wall and go in. I'm just not sure how much it would learn.
That being said, I'll spin up an environment on this branch and see what it learns to do. But I don't think we should merge it into main yet since as you said it needs to be refactored already and this is just adding to a fire.


fix: allow to pass a custom cname into config #82

🏴☠

test for secure_distribution doesn't work
in 69b5b37

i dont think a breaking change is necessary, we can generate the url and secure_url as the cloudinary resource requests return giving the option dependent on what they want to use.
it looks like the URLs generated when requesting the resource return the secure_distribution value on both the url and secure URL with the http/https as expected

one thing however that if ound though is cloudinary.url works slightly differently in that it won't just simply return the URL with the cname/secure distribution since those are configured based on the secure value. as this isn't existing functionality and future iterations may change, im not going to try to mess with that and leave the URL generation based on secure:false + cname and secure:true + secure_distribution
another thing, i dont know what the specifics are of this, but i noticed that we weren't updating these values in cloudinaryData and that object is intended to be the best practice path for accessing the node data, so adding the url and secure url override there as well

finally i think theres a bug, i dont think the responsive images are getting the appropriate URL?

if not im not sure where else it would grab a res.cloudinary.com URL from. but im digging into this now

Great catch @colbyfayock, something messed these concepts up in my brain.


[Bug]: Error when trying to deploy a AtlasServerlessBasic construct

Is there an existing issue for this?

[X] I have searched the existing issues

CDK package version
v2.110.1
CFN Resource version
v2.1.0
CFN Resource Region
us-east-1
Current Behavior
I get this error when trying to use the Construct AtlasServerlessBasic:  Resource handler returned message: "Unable to complete request: runtime error: invalid memory address or nil pointer dereference" (RequestToken: 1bfd9635-0a9e-bf60-9ef8-e7da011f65b0, HandlerErrorCode: GeneralServiceException)
I have just coppy/paste the serverless example avaible within this repo: https://github.com/mongodb/awscdk-resources-mongodbatlas/blob/main/examples/l3-resources/atlas-serverless-basic.ts
AWS CDK code to reproduce the issue
// This CDK L3 example creates a MongoDB Atlas project, cluster, databaseUser, and projectIpAccessList
import * as cdk from "aws-cdk-lib";
import { Construct } from "constructs";
import {
  AtlasServerlessBasic,
  ServerlessInstanceProviderSettingsProviderName,
} from "awscdk-resources-mongodbatlas";

interface AtlasStackProps {
  readonly orgId: string;
  readonly profile: string;
  readonly region: string;
  readonly ip: string;
  readonly continuousBackupEnabled: boolean;
  readonly terminationProtectionEnabled: boolean;
}

export class ToremoveStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const atlasProps = this.getContextProps();
    const atlasBasic = new AtlasServerlessBasic(this, "AtlasServerlessBasic", {
      serverlessProps: {
        projectId: atlasProps.orgId,
        profile: atlasProps.profile,
        continuousBackupEnabled: true,
        providerSettings: {
          providerName:
            ServerlessInstanceProviderSettingsProviderName.SERVERLESS,
        },
        terminationProtectionEnabled: true,
      },
      projectProps: {
        orgId: atlasProps.orgId,
      },

      ipAccessListProps: {
        accessList: [
          { ipAddress: atlasProps.ip, comment: "My first IP address" },
        ],
      },
      profile: atlasProps.profile,
    });
  }

  getContextProps(): AtlasStackProps {
    const orgId = this.node.tryGetContext("orgId");
    if (!orgId) {
      throw "No context value specified for orgId. Please specify via the cdk context.";
    }
    const profile = this.node.tryGetContext("profile") ?? "default";
    const terminationProtectionEnabled = this.node.tryGetContext(
      "terminationProtectionEnabled"
    );
    const continuousBackupEnabled = this.node.tryGetContext(
      "continuousBackupEnabled"
    );
    const region = this.node.tryGetContext("region") ?? "US_EAST_1";
    const ip = this.node.tryGetContext("ip");
    if (!ip) {
      throw "No context value specified for ip. Please specify via the cdk context.";
    }

    return {
      orgId,
      terminationProtectionEnabled,
      continuousBackupEnabled,
      profile,
      region,
      ip,
    };
  }
}

Steps To Reproduce
cdk deploy --context orgId="5aba5de1c0c6e3**********" --context ip="37...*"
cdk synth
Resources:
  AtlasServerlessBasicprojectAtlasServerlessBasic2405B456:
    Type: MongoDB::Atlas::Project
    Properties:
      Name: atlas-project-4172791
      OrgId: 5aba5de1c0c6e3**********
      Profile: default
    Metadata:
      aws:cdk:path: ToremoveStack/AtlasServerlessBasic/project-AtlasServerlessBasic
  AtlasServerlessBasicserverlessAtlasServerlessBasic7186EADE:
    Type: MongoDB::Atlas::ServerlessInstance
    Properties:
      ContinuousBackupEnabled: true
      Name: atlas-serverless-2479174
      ProjectID: 5aba5de1c0c6e3**********
      ProviderSettings:
        ProviderName: SERVERLESS
      TerminationProtectionEnabled: true
      Profile: default
    DependsOn:
      - AtlasServerlessBasicprojectAtlasServerlessBasic2405B456
    Metadata:
      aws:cdk:path: ToremoveStack/AtlasServerlessBasic/serverless-AtlasServerlessBasic
  AtlasServerlessBasicdbuserAtlasServerlessBasic9A045D20:
    Type: MongoDB::Atlas::DatabaseUser
    Properties:
      DatabaseName: admin
      Password: atlas-pwd
      ProjectId:
        Fn::GetAtt:
          - AtlasServerlessBasicprojectAtlasServerlessBasic2405B456
          - Id
      Roles:
        - DatabaseName: admin
          RoleName: atlasAdmin
      Username: atlas-user
      Profile: default
    DependsOn:
      - AtlasServerlessBasicprojectAtlasServerlessBasic2405B456
    Metadata:
      aws:cdk:path: ToremoveStack/AtlasServerlessBasic/db-user-AtlasServerlessBasic
  AtlasServerlessBasicipaccesslistAtlasServerlessBasic601CE395:
    Type: MongoDB::Atlas::ProjectIpAccessList
    Properties:
      AccessList:
        - Comment: My first IP address
          IPAddress: <IP_ADDRESS>
      ProjectId:
        Fn::GetAtt:
          - AtlasServerlessBasicprojectAtlasServerlessBasic2405B456
          - Id
      Profile: default
    DependsOn:
      - AtlasServerlessBasicprojectAtlasServerlessBasic2405B456
    Metadata:
      aws:cdk:path: ToremoveStack/AtlasServerlessBasic/ip-access-list-AtlasServerlessBasic
  CDKMetadata:
    Type: AWS::CDK::Metadata
    Properties:
      Analytics: v2:deflate64:H4sIAAAAAAAA/yXGuw2AIBAA0Fno4QQqezbACRAwOdAj4aOFcXdjrN7ToNQMkrmrCR+y2HGFe+nOZ242srGVUX38bgoF7Fjo4VRChNSmU0tQEiRLDVHUQR2PCPb3Bfs2JZJaAAAA
    Metadata:
      aws:cdk:path: ToremoveStack/CDKMetadata/Default
    Condition: CDKMetadataAvailable
Conditions:
  CDKMetadataAvailable:
    Fn::Or:
      - Fn::Or:
          - Fn::Equals:
              - Ref: AWS::Region
              - af-south-1
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-east-1
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-northeast-1
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-northeast-2
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-south-1
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-southeast-1
          - Fn::Equals:
              - Ref: AWS::Region
              - ap-southeast-2
          - Fn::Equals:
              - Ref: AWS::Region
              - ca-central-1
          - Fn::Equals:
              - Ref: AWS::Region
              - cn-north-1
          - Fn::Equals:
              - Ref: AWS::Region
              - cn-northwest-1
      - Fn::Or:
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-central-1
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-north-1
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-south-1
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-west-1
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-west-2
          - Fn::Equals:
              - Ref: AWS::Region
              - eu-west-3
          - Fn::Equals:
              - Ref: AWS::Region
              - il-central-1
          - Fn::Equals:
              - Ref: AWS::Region
              - me-central-1
          - Fn::Equals:
              - Ref: AWS::Region
              - me-south-1
          - Fn::Equals:
              - Ref: AWS::Region
              - sa-east-1
      - Fn::Or:
          - Fn::Equals:
              - Ref: AWS::Region
              - us-east-1
          - Fn::Equals:
              - Ref: AWS::Region
              - us-east-2
          - Fn::Equals:
              - Ref: AWS::Region
              - us-west-1
          - Fn::Equals:
              - Ref: AWS::Region
              - us-west-2
Parameters:
  BootstrapVersion:
    Type: AWS::SSM::Parameter::Value<String>
    Default: /cdk-bootstrap/hnb659fds/version
    Description: Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]
Rules:
  CheckBootstrapVersion:
    Assertions:
      - Assert:
          Fn::Not:
            - Fn::Contains:
                - - "1"
                  - "2"
                  - "3"
                  - "4"
                  - "5"
                - Ref: BootstrapVersion
        AssertDescription: CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.

Code of Conduct

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

Running into the same issue.
Copied the AtlasServerlessBasic example verbatim and supplied the orgId and ip address.  API key generated in Atlas works correctly and can make calls with it with the Atlas Admin API via Postman.  API key is stored in AWS Secrets Manager in cfn/atlas/profile/default and the values are populated with Publickey and Privatekey.  CloudFormation third party extensions are enabled.
From the error message, it looks like it's failing to create the Project, but not sure what I'm doing wrong here to fix the issue>
8:58:56 PM | CREATE_FAILED        | MongoDB::Atlas::Project             | AtlasServerlessBas...rlessBasic2405B456
Resource handler returned message: Unable to complete request: runtime error: invalid memory address or nil
 pointer dereference (RequestToken: xxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxxx, HandlerErrorCode: GeneralServiceException)

Thanks @cmoyer2 for reporting i am not the only one with this issue!
Just to mention, i also tried to ensure an already existing projectId, and i still have this issue by doing that.

hi,
thanks for creating issue.
I'm unable to reproduce the same error, can you provide the full log in order to have more info?
Can you confirm that you hace a Default profile created,
you're using the latest version?    "awscdk-resources-mongodbatlas": "^3.1.0"
and  CFN registered versions you're using for MongoDB::Atlas::ServerlessInstance, MongoDB::Atlas::DatabaseUser and MongoDB::Atlas::ProjectIpAccessList ?
thanks

Hi @lantoli
The full log is:
cdk deploy --context orgId="5aba5de1c0c6e3**********" --context ip="37.***.***.*"

✨  Synthesis time: 3.83s

TestCdkStack:  start: Building f736412a0b87dca4e63d502b1a66fd261c3f05beafd8b1e819ca3ee37b4742ee:current_account-current_region
TestCdkStack:  success: Built f736412a0b87dca4e63d502b1a66fd261c3f05beafd8b1e819ca3ee37b4742ee:current_account-current_region
TestCdkStack:  start: Publishing f736412a0b87dca4e63d502b1a66fd261c3f05beafd8b1e819ca3ee37b4742ee:current_account-current_region
TestCdkStack:  success: Published f736412a0b87dca4e63d502b1a66fd261c3f05beafd8b1e819ca3ee37b4742ee:current_account-current_region
TestCdkStack: deploying... [1/1]
TestCdkStack: creating CloudFormation changeset...
[··························································] (0/6)

11:33:40 PM | CREATE_FAILED        | MongoDB::Atlas::Project             | AtlasServerlessBas...lasServerlessBasic
Resource handler returned message: "Unable to complete request: runtime error: invalid memory address or nil pointer dereference" (RequestToken: 492722d0-dcdd-8b2c-bf86-2e95e1eac56c, HandlerErrorCode: GeneralServiceException)
11:33:40 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | TestCdkStack
The following resource(s) failed to create: [AtlasServerlessBasicprojectAtlasServerlessBasic2405B456]. Rollback requested by user.
11:33:40 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | TestCdkStack
The following resource(s) failed to create: [AtlasServerlessBasicprojectAtlasServerlessBasic2405B456]. Rollback requested by user.

My profile in secret manager is cfn/atlas/profile/deploysst so i named it that way in my Construct:
new AtlasServerlessBasic(this, "AtlasServerlessBasic", {
      serverlessProps: {
        projectId: atlasProps.orgId,
        profile: "deploysst",
        continuousBackupEnabled: true,
        providerSettings: {
          providerName:
            ServerlessInstanceProviderSettingsProviderName.SERVERLESS,
        },
        terminationProtectionEnabled: true,
      },
      projectProps: {
        orgId: atlasProps.orgId,
      },

      ipAccessListProps: {
        accessList: [
          { ipAddress: atlasProps.ip, comment: "My first IP address" },
        ],
      },
      profile: "deploysst",
    });

I do am using the v3.1.0 version of "awscdk-resources-mongodbatlas" (i have just created a new project from scratch just before i met this error).
I am using the last version of the CFN ressources as well (v2.1.0 published the 27-10-2023 00:11:27 UTC+0200).
I can share more information with you in DM if needed to reproduce.

I'm having the same issue.
I'm using our own serverless construct code that worked previously. The only difference between now and then seems to be that the AWS extensions are using major version 1.x in the old service and 2.x now. Is there a way to downgrade the AWS extensions to version 1.x to test whether that would solve the issue?

@rooperas  I think AWS used to have a limitation there and doesn't allow to downgrade a CFN resource version.  But you can try to unregister and register the other version in case you're allowed now

That's correct i just tried and i can't specify a version number when activating the extension.
Plus i am not sure what would have been the conclusion if it worked anyway?
It still needs to be fixed in v2.x.x no?

@rooperas can you create a Support Ticket with AWS and send me number please? we can help expediate. you should be able to downgrade back to previous major versions, if you are not able to then this is likely an issue on the AWS CFN side.

@ludoblues can you please remove this line and try again:
remove line: projectId: atlasProps.orgId,
this line in the example is definitely wrong, although i'm still not able to reproduce the issue, it's working fine for me once this line is deleted.

Hi @lantoli ,
I have already tried, and i have just tried again, it fails the exact same way.
I have hardcoded all the values, and i also noticed multiple mistakes in the example (orgId passed instead of projectId, options in string instead of boolean in the TS interface). I don't see how this code could have been tested.
Are you using the v2.1.0 of the CF extensions too?
Looks like it could be the key regarding the @rooperas comment

@ludoblues  I tried in us-west-2 and us-east-1, for instance in us-east-1 I used these CFN resource versions:
MongoDB::Atlas::DatabaseUser 2.1.0
MongoDB::Atlas::Project 2.1.0
MongoDB::Atlas::ProjectIpAccessList 2.0.0
MongoDB::Atlas::ServerlessInstance 2.0.0
Can you confirm that you're trying in region us_east_1 and what are the versions for the 4 CFN resources above.
Also can you confirm that the profile you're using has a key with sufficient permissions to create projects and serverless instances?
Sorry I can't reproduce your error, it's working fine for me.

Hi @lantoli
I tried in us-east-1 too.
I have just verified and i do am in the samet CFN resources versions as you:
MongoDB::Atlas::DatabaseUser 2.1.0
MongoDB::Atlas::Project 2.1.0
MongoDB::Atlas::ProjectIpAccessList 2.0.0
MongoDB::Atlas::ServerlessInstance 2.0.0
I have just checked the Organisation Permissions linked to my profile API key and here are the attached roles: "Organization Member, Organization Owner, Organization Project Creator, Organization Read Only"
Do you think something could be missing here?
Am i supposed to create an issue on the AWS support to get more information?

I got it!
I was able to get a much cleaner error message when trying to deploy with the CfnServerlessInstance construct idependently:  "AccessDeniedException: User: arn:aws:sts::40**********:assumed-role/mongoDBAtlasCFNExecutionRole/73c108ea-d97c-89ce-441b-2ae4090d578b is not authorized to perform: secretsmanager:GetSecretValue on resource: cfn/atlas/profile/default because no identity-based policy allows the secretsmanager:GetSecretValue action
I just removed this part from the AtlasCDKExecution policy and it worked well:
 "Condition": {
  "StringEquals": {
    "aws:SourceAccount": "40**********"
  }
},

Which actually i don't get why since i am using a SSO login with the corresponding sso_account_id, is it really the SourceAccount when using SSO login?
I am going to close the issue but i am curious to understand and it looks like i am not the only one with this issue.

I got it!
I was able to get a much cleaner error message when trying to deploy with the CfnServerlessInstance construct idependently:  "AccessDeniedException: User: arn:aws:sts::40**********:assumed-role/mongoDBAtlasCFNExecutionRole/73c108ea-d97c-89ce-441b-2ae4090d578b is not authorized to perform: secretsmanager:GetSecretValue on resource: cfn/atlas/profile/default because no identity-based policy allows the secretsmanager:GetSecretValue action
I just removed this part from the AtlasCDKExecution policy and it worked well:
 "Condition": {
  "StringEquals": {
    "aws:SourceAccount": "40**********"
  }
},

Which actually i don't get why since i am using a SSO login with the corresponding sso_account_id, is it really the SourceAccount when using SSO login? Looks like the most appropriate syntax could be to match the aws:username in a SSO login context, but it is another story so i close the issue.
Thanks for your help anyway!

I ran into this same issue while deploying with SST (which sits on top of CDK) and noticed OP was also using SST. I finally figured out the issue for me was that SST relies on cdk.context.json to cache values fetched from SSM, but if said file doesn't exist yet, SST uses dummy values during, or in preparation for the initial deployment. I was storing the API key-pair's ARN in SSM, so the ARN used to lookup the secret was something like dummy-value-for-/ssm/param/path instead of the actual secret's ARN.
Once I realized this, I deployed the stack without any Mongodb::Atlas::* resources, which populated cdk.context.json, then added back in the Mongodb::Atlas::* resources and redeployed, and the cryptic error disappeared.
Hope this helps someone so they don't have to waste hours troubleshooting like me 😅.


*: make cloning to GOPATH optional

This PR causes dex to setup its own GOPATH internally using symlinks.
As a result, users should be able to clone dex to any directory and
just built or test it. E.g. this should work:
git clone https://github.com/coreos/dex
cd dex
make

The on host dependencies for building dex are now just a recent Go
installation. Testing still requires golint.
This change can be tested by cloning this PR and seeing if it builds.
git clone https://github.com/ericchiang/dex
cd dex
make testall

Are you missing something in travis script thats causing the build to fail?

Having trouble with the makefile. Let's hold off for now. Will revisit when I get some time.


How to solve the MESSAGEFAULT_ERROR_RESPONSE_MTU_EXCEEDED

I got a error MESSAGEFAULT_ERROR_RESPONSE_MTU_EXCEEDED when I connect the vehicle by BLE in my ios app.
It seems that the response data too large.
I check the Apple document, ios disallow app change the mtu. How to solve it?

The limiting factor for the MTU is VSCEC RAM, so the MTU is determined by the vehicle.
What command are you using that results in MTU errors?

@sethterashima I am fetch the vehicle data by BLE:
Action.VehicleAction.GetVehicleData.GetVehicleState

It seams that the data is too large, and the INFOTAINMENT do not split the message.


Licensing - covering LSR sender scenario 61539

Ref: https://github.ibm.com/IBMPrivateCloud/roadmap/issues/61539
Updates for the licensing case:

If spec.sender  is configured in LS instance, set a template for sender configuration with url pointing to the IBM LSR docs
And create an empty secret ibm-license-service-reporter-token in LS_new_namespace to ensure that LS instance pod will start

Hi @gosiadors
Thank you for the PR, let's hold it for the 4.3.1 release, and merge it into 4.4.


🔖 Release 2.2.0

Draft for now. Waiting for build issues to be resolved and #658 to be merged.

we skip 2.1.3 ? too many change and maybe breaking one
(and so people could keep 2.1 if they want

Yeah, #596 added a new feature & API so I figured this was worth a minor version bump.
@phimage Any ideas why the BitBucket and DropBox tests fail whenever run by the GH action?

/Users/runner/work/OAuthSwift/OAuthSwift/OAuthSwiftTests/ServicesTests.swift:79: error: -[OAuthSwiftTests.ServicesTests testBitBucket] : failed - No parameters for BitBucket. Test ignored

/Users/runner/work/OAuthSwift/OAuthSwift/OAuthSwiftTests/ServicesTests.swift:79: error: -[OAuthSwiftTests.ServicesTests testDropBox] : failed - No parameters for Dropbox. Test ignored

Both Services.plist and ServicesTest.plist contain top-level keys for "BitBucket" and "Dropbox", but services["BitBucket"] appear to be returning nil when there is always a value when I test this locally.

yes,
we could deactivate this test on CI temporary because we cannot fill consumer key and secret
the test need to fill the configuration file with some key/secret for the services, on GitHub we need to use secret but I have no right to add it (no access to project configuration)
(I loose my file with all token ! very boring to make a new one)

Tried to skip actually testing these on CI, but the build stalled for 6h before timing out.
    func testBitBucket() {
        guard ProcessInfo.processInfo.environment["CI"] != "true" else { return }
        testService("BitBucket")

Thu, 20 May 2021 14:07:34 GMT
Test Case '-[OAuthSwiftTests.ServicesTests testBitBucket]' started.
Thu, 20 May 2021 20:05:12 GMT
Error: The operation was canceled.

Going to move forward with the 2.2 release. The current CI issues can be resolved later in #662 and #660


BIN_4X2 and AutoRaman updates

Relates to https://github.com/WasatchPhotonics/Wasatch.PY/pull/111

Merging this up as it's started to become an "ENLIGHTEN 4.2-dev" branch


generic resource support on csv report

we want to support all the resources that custodian supports. so deferring to our meta model (skew) for default csv resource fields. if no default defined, name, id, date fields (later if present, former). yank any default tag fields besides name.

Skew seems to have very little to say about the information available for resources. Did you have any examples of default fields available from Skew (other than ID)?
Failing that, do you think it would make sense to move the formatters into their respective files in resources so all the resource-specific behavior is at least in one place? We could also add some lookup mechanism in favor of the current hard-coded dictionary.

id and name are all skew has by default, i'm suggesting extending the models within custodian wrt to defining a resource specific default set of fields for the csv reports. as example of other extensions we've done to the model, config rule support has model info.  i'm trying to find some time to chat with skew author at reinvent this week to see if we can upstream some of this stuff.

So just relocate the defaults to each resources resource_type class? Using RDS as an example, something like
class resource_type(rds.DBInstance.Meta):
    filter_name = 'DBInstanceIdentifier'
    config_type = 'AWS::RDS::DBInstance'
    report_fields = (
        ('instance id', 'DBInstanceIdentifier'),
        ('db name', 'DBName'),
        ('creation time', 'InstanceCreateTime'),
        ('encrypted', 'StorageEncrypted'),
        ('publicly accessible', 'PubliclyAccessible'),
    )

That would tell us the human readable header for the report, and the key containing the information.
Let us know if that’s the right general direction.

thats the direction, though wondering if we should just drop the title fields and keep a list of attributes, its human interpretation, and we should let the end user reformat/flow to target.

On some resource managers, the resource_type property is just a string. On others, it’s a class inheriting from object, and on others it subclasses something entirely different.
I want to assign properties for the ID field and default fields to the resource_type, which won’t work if it’s a string. Is it as simple as removing the string and subclassing ResourceQuery.resolve(<string value>) as in the S3 resource, or will that break things?
Another option might be to just stick the properties on the resource manager class itself instead of on the resource_type. I think that’s what I’m leaning towards. Thoughts?


Id: ccbb5554e544eb68

confirmed:B1
node:b26daea70a587b43

confirmed:EI4

confirmed:EI4

confirmed:EI6

confirmed:EI6

confirmed:ID2
account1:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
account2:3cNYtMpCDich1iGS6pBnsGruXYobTc6nX2KTf1pZktNEHvxZCb
PublicDataAttributes:Verified
DeviceMake&Model:Verified

confirmed:ID2
account1:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
account2:3cNYtMpCDich1iGS6pBnsGruXYobTc6nX2KTf1pZktNEHvxZCb
PublicDataAttributes:Verified
DeviceMake&Model:Verified

confirmed:B2

confirmed:B2

confirmed:B3

confirmed:B3

confirmed:B6

confirmed:B6

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

confirmed:B4
address:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
baker:86

confirmed:B4
address:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
baker:86

hello. Why didn't I get credit for completing task B5? you added the task label, but in the "review required" status table below, there is a link to the task I completed.
https://github.com/Concordium/Testnet3-Challenges/pull/601/commits/e8d6345f8c2cdbf5746af9680354f47a0672de24

hello. Why didn't I get credit for completing task B5? you added the task label, but in the "review required" status table below, there is a link to the task I completed.
https://github.com/Concordium/Testnet3-Challenges/pull/601/commits/e8d6345f8c2cdbf5746af9680354f47a0672de24

hello. why didn't I get credit for completing task B5 and ID4? you added the task label, but in the status table "review required" I will leave two comments with links to the commits with the tasks performed. how soon will they be considered?15.01.2021, 18:49, "Mario Rogic"<EMAIL_ADDRESS>confirmed:B4
address:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
baker:86
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.
-- С уважением, Музыченко Максим Владимирович89588203288

hello. why didn't I get credit for completing task B5 and ID4? you added the task label, but in the status table "review required" I will leave two comments with links to the commits with the tasks performed. how soon will they be considered?15.01.2021, 18:49, "Mario Rogic"<EMAIL_ADDRESS>confirmed:B4
address:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
baker:86
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.
-- С уважением, Музыченко Максим Владимирович89588203288

confirmed:B5
address:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK

confirmed:ID4
AccountAddress:3TY5qjr6mL5gq7DHAh8rcNvvJ4SAgGKSyTR5ShjJYtMiRif8VK
DeviceDetails:verified

Form Submitted  10 h 12 min  UTC+3


chore(components): simplify react node tree structure

Such optimization is done for stateless components with React.forwardRef(), optimizing the React node tree from:
<ForwardRef(TextInput) ...>
  <TextInput ...>...</TextInput>
</ForwardRef(TextInput)>

To:
<ForwardRef(TextInput) ...>...</ForwardRef(TextInput)>

Refs #1768.
Changelog
New

ref support for <Button> in v9 (with inputref fallback)

Changed

Following function-based component code directly using React.forwardRef(), instead of calling React.forwardRef() for an intermediate component:

<Button>
<Checkbox>
<ComposedModal>
<ModalWrapper>
<Select>
<TextInput>
<HeaderMenuItem> in UI shell. Other UI shell components (e.g. `) take the same approach in this PR already.

For reviewers: Please use "Diff settings" - "Hide whitespace changes" for review. Thanks!


PRL-3524: case closed when final order made for all child

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)
[x] the keep-helm label has been added, if the helm release should be persisted after a successful build

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/PRL-3524
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

This pr is not required, we have created another pr with same changes which is 1490


Can we simplify package management with Central Package Management?

CPM looks like an opportinuty to clean up our .csproj and directory.build.props files, at least to some extend. https://docs.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management

Nice feature. Did not know this is around.  A few things we have to consider:

It is only a small help in my eyes. In theory we could also now add all dependencies to our root Directory.Build.props and have the same effect with less clutter in the csproj. The rosyln compiler will remove anyway every assembly which is not used in the code anyway (via static analysis).
It only works on VS 2022. I personally use this as well as Rider (as you saw :D). I am not sure if we introduce problems for people which like to contribute and have some other tooling. Supporting both ways seems not what we want to do :D
All of that does not matter because there is major blocker: It requires .NET SDK 6.0.300

But I'd like to keep this open to see where this is going in the future. Cool thing you found there Egil ;)

If it doesnt work with Rider/the command line, then yeah, lets wait a bit with this.

Just to have some documentation about our findings:
This might be something for version 2.0. Currently the support of < .net6 will block that feature.
Let's assume we want to build .net5 assembly. We can do this with everything equal or higher than the .net5 SDK, but unfortunately that does not work with running tests. The test-runner has to come from the same SDK version as the assembly under test.
That means we can't simplify our CI/CD pipeline to use the following:
- name: ⚙ Setup dotnet versions
        uses: actions/setup-dotnet@v2
        with:
          dotnet-version: |
            6.0.x # Only latest stable release
            7.0.x # Only latest preview release
          include-prerelease: true

Another issue we might run into is dependabot as I am not sure whether or not they support that feature.

NuGet had a juicy update: https://devblogs.microsoft.com/nuget/announcing-nuget-6-4-signed-central-delivered/#use-a-single-packagereference-everywhere-with-globalpackagereference
Still something for v2.

Conclusion: We can go ahead with this feature as tooling support is given.


fix(DIST-366): Display correct icon when popup is opened automatically

When opening popup via behavioral triggers (for popover and side panel popup types) display icon to correctly indicate current state - opened, loading, closed.

[BOT] Preview available: https://embed.typeform.com/ac03ad1437169b781dd6f88281dc14cf8cdb3fbb/embed.js

:tada: This PR is included in version 0.24.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Problems with equal values on the y axis

Hello ... I don't know if it's a problem, but when I have equal Y-axis values on my line chart, it just doesn't show anything on the chart.
See example below
List values = new ArrayList();
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 2));
values.add(new PointValue(2, 2));
values.add(new PointValue(3, 2));

Same problem

yep, have same problem, do we have any solumtion @lecho ?

Hi guys, it's been a while since I was active in this repo so I might not be correct.
I believe the problem is related to the "feature" that this library calculates viewport automatically(min and max for both axis). When all points have the same value min and max are the same and thereby viewport has height/width of 0.
It can be disabled and set manually, please take a look at issue #169 and #143

Hi, thank for your response, but this issue has been fixed here  https://github.com/lecho/hellocharts-android/issues/455.


Bring coverage to 100%

[ ] deal with a few FIXMEs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.6%) to 100.0%

Totals

Change from base Build<PHONE_NUMBER>7:
1.6%

Covered Lines:
615

Relevant Lines:
615

💛  - Coveralls


feat: add inquirer

I have put my review comments above. Additionally, there must be a way to bypass inquirer by providing the options as arguments (or later as a config file). If not, even advanced users have to type a lot each time instead of just pressing "up" or automating the generation process

I have put my review comments above. Additionally, there must be a way to bypass inquirer by providing the options as arguments (or later as a config file). If not, even advanced users have to type a lot each time instead of just pressing "up" or automating the generation process

Done ✅

One minor comment, there option names are a tiny bit misleading since all conversion generate code as well. @fatadel could you do such that code generation option can be added as a boolean in the config/questions

One minor comment, there option names are a tiny bit misleading since all conversion generate code as well. @fatadel could you do such that code generation option can be added as a boolean in the config/questions

Sure, I can. The thing is that I wanted to introduce minimum (breaking) changes into the original program, and there it was always assumed to generate code in either mode.

One minor comment, there option names are a tiny bit misleading since all conversion generate code as well. @fatadel could you do such that code generation option can be added as a boolean in the config/questions

Like this?


Updated README.md for Todo Frontend

Date: 28 Dec 2024

Developer Name: @VaibhavSingh8

Issue Ticket Number

N/A
Description

This PR aims to update the README.md for Todo Frontend repository to provide an overview of the project.
Documentation Updated?

[x] Yes
[ ] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[ ] Yes
[x] No

Additional Notes

N/A

@tejaskh3  if you feel something is missing or not right please send PR, I am merging this instead of keeping blank


Citations markdown issue 207

Description
Tutorial explaining best practices for working with citations in R Markdown.
Related Issue
closes #207
Task list

[x] My tutorial or article is placed in a subfolder of tutorials/content
[x] The filename of my tutorial or article is index.md. In case of an Rmarkdown tutorial I have knitted my index.Rmd to index.md (both files are pushed to the repo).
[x] I have included tags in the YAML header (see the tags listed in the tutorials website side bar for tags that have been used before)
[x] I have added categories to the YAML header and my category tags are from the list of category tags

For now, I have this question: did you deliberately not mention CSL-YAML, i.e. pandoc's alternative format (fully equivalent to CSL-JSON), and if so what is your reason? Cf. #207 (comment). While CSL-YAML is a pandoc-only format, it is more human-readable - e.g. more appropriate for direct edits - and it can be converted to CSL-JSON (or vice versa) whenever needed. Also it is one of the options in RStudio VME - it seems to be simply lacking at https://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html (have added an issue there). It can be supported with Zotero too, outside of R/RStudio. Personally, I'd favour it, but maybe you want to stick with the JSON format - perhaps because other reference manager software can be expected to only support CSL-JSON (if at all CSL, in some cases). Anyway, one can combine both json and yaml file in one project.

Yes, I agree. I should include some of the findings that you mentioned in that comment. The reason I favored CSL-JSON is that it is strongly recommended by RStudio and it is the native format for pandoc-citeproc. Also, I've heard mentioning of json format a few times as a recommended human- and machine-readable format (cf interoperability FAIR data).

Regarding .enl: is it a text format? (if not, it's less fit or recommendable to include in collaborative Rmd projects with version control).

Good point. It's a binary file format. I haven't got EndNote on my laptop, but we should check which export types we can recommend. The EndNote XML export will be suitable I guess.

The reason I favored CSL-JSON is that it is strongly recommended by RStudio and it is the native format for pandoc-citeproc.

I understand, but that webpage is outdated. (BTW pandoc-citeproc is no longer a separate program, it's included in pandoc.) Regarding the formats on the RMarkdown webpage, see issue https://github.com/rstudio/rmarkdown/issues/2179.
Specifically for CSL-YAML, see also https://github.com/retorquere/zotero-better-bibtex/issues/1602#issuecomment-674776528 and down.

@florisvdh maybe take a last look at e95b841. If OK can you approve?

Don't forget to re-knit :wink:

FYI

that webpage is outdated

Yihui Xie has now redirected the link (and some others in https://rmarkdown.rstudio.com) to pandoc's manual, in order to avoid duplication and aging information.


Time stamp

First, awesome job on this project yall! Second I am not a coder, smart, or claim to be. I know enough to get by. I managed to install this and get it working on my website. I am using the Twitter RSS bridge - Hashtag - Atom ... all seems to be working perfect except one thing. Its time stamping everything 5 hours ahead. Correct date but its 6:45 PM here and its stamping 11:45 PM  How do I correct this? Which file do I adjust this in? Thanks  Shane

Welcome to RSS-Bridge!

How do I correct this? Which file do I adjust this in?

RSS-Bridge is set to UTC by default. Unfortunately this is statically defined in index.php which means it gets replaced on every update.
https://github.com/RSS-Bridge/rss-bridge/blob/89218f1da684173416481d8053eedd3a8d1a6a18/index.php#L9
date_default_timezone_set defines the timezone of your server. A list of applicable timezones is provided here: http://php.net/manual/en/timezones.php (take a look at "Others").
In your case this might work: date_default_timezone_set('EST');
I suppose it makes sense adding a parameter to the configuration file in the future. Let me know if this works for you. That way you don't have to change this parameter on every update.
I'll flag this as feature request for future reference (for adding a parameter to the configuration file).

Worked perfect! I just wanted to scroll #breaking tweets on my website and I found a rss reader .php thingie here on Github. It has ($pubDate,0,22), which basically reads 0-22 characters from the pubDate in the Mrss file and displayed it as it came in. It being off 5 hours was driving me nuts. Thanks so so much for taking the time to help me!

Thanks for the feedback! I'll make sure to fix this in future releases.

You can now specify your timezone in the configuration file. Find more information on the Wiki


exported the dependency on boost libraries from sm_property_tree

and changed the way pthread finds its way into sm_property_tree-test

Lgtm


Does claspy support multi-dimensional tss?

Does claspy support multi-dimensional tss?

Not yet, however we are currently working on that. You can expect an update later this year. For now, I suggest that you run ClaSP per time series channel, collect all change points and merge ones that are near-duplicates.


Serve handler from cloudflare workers

Is your feature request related to a problem? Please describe.
I want to use connect-es to serve a connect/grpc-web handler from a cloudflare worker, filing an issue as suggested in https://github.com/bufbuild/connect-es#other-platforms.
Describe the solution you'd like
Similar to the adaptor that exists for node, something that I can plug into the worker's https://developers.cloudflare.com/workers/runtime-apis/fetch-event/. It would only need to support the connect & grpc-web protocols, as it seems that the workers runtime does not expose enough to implement the gRPC protocol.
Describe alternatives you've considered
Not using connect-es and manually writing the grpc-web/connect protocol output.
Additional context
I've gotten some basics to work with the following snippet:
import { createConnectRouter } from "@bufbuild/connect";
import { UniversalHandler } from "@bufbuild/connect/protocol";
import { ElizaService } from "./gen/buf/connect/demo/eliza/v1/eliza_connect";

export default {
	async fetch(request: Request, env: Env, ctx: ExecutionContext ): Promise<Response> {
		const url = new URL(request.url);
		let router = createConnectRouter({ grpc: false, grpcWeb: true, connect: true})
		router.service(ElizaService, {
			async say(req) {
				return {sentence: `You said ${req.sentence}`};
			}
		})
		const paths = new Map<string, UniversalHandler>();
		for (const uHandler of router.handlers) {
			paths.set(uHandler.requestPath, uHandler);
		}
		const uHandler = paths.get(url.pathname ?? "");
		if (!uHandler) {
			return new Response(undefined, { status: 404 });
		}

		let response = await uHandler({
			url: url,
			header: request.headers,
			httpVersion: "2",
			method: request.method,
			body: request.body,
		})
		return new Response(
			readableStreamFromIterable(wrapIterable(response.body ?? new Uint8Array())),
			{ status: response.status, headers: response.header }
		)
	},
};

function wrapIterable(x: AsyncIterable<Uint8Array> | Uint8Array): AsyncIterable<Uint8Array> {
	if (x instanceof Uint8Array) {
		return { async *[Symbol.asyncIterator]() { yield x } }
	}
	return x;
}

function readableStreamFromIterable<T>(iterable: Iterable<T> | AsyncIterable<T>): ReadableStream<T> {
	// kindly borrowing from https://github.com/denoland/deno_std/blob/2a60184084ae98ab18960209fb1e79ba1a815bfa/streams/readable_stream_from_iterable.ts#L40
}

However, when running this on cloudflare (either production or using wrangler dev --experimental-local) I'm met with the following error:
service core:user:: Uncaught Error: Some functionality, such as asynchronous I/O, timeouts, and generating random values, can only be performed while handling a request.
  at index.js:24:19

where the stack trace points to the following part of connect-es:
https://github.com/bufbuild/connect-es/blob/c18d298d026a769b4075aac3d03f78bcb6b60e11/packages/connect/src/protocol/universal-handler.ts#L142
The cloudflare docs at https://developers.cloudflare.com/workers/runtime-apis/web-standards#abortcontroller-and-abortsignal don't seem to indicate any limits on where new AbortController can be used, but when I manually modify my bundled output to inline that toplevel variable into the place it's used the above snippet works.
I'm sure there's more things problematic about the snippet: the way to convert UniversalHandler's response.body's type into a Response's body param seems off and creating the router each request is probably not ideal. I'm new to typescript so I'm still figuring things out, it'd be great if connect-es could support workers out of the box!

Hey Robbert :wave:
The latest release v0.8.5 includes a fix for the AbortController issue. Let me know if that works for you.
Yes, creating the entire router for each request does not seem ideal. I think it should be possible to move the first 11 lines from the fetch function body up, so that they are above the export default statement.
For converting request / response types, we have something in the works. Here is an early version: https://gist.github.com/timostamm/5ca423155a0ddf03678ddc61f08cf4bd

Tried the latest version and the AbortController issue is indeed fixed! Thanks for that.

Yes, creating the entire router for each request does not seem ideal. I think it should be possible to move the first 11 lines from the fetch function body up, so that they are above the export default statement.

This does work, but I haven't figured out how to pass fetch's env and ctx parameters which are needed to interact with the bindings to r2/kv etc from the handlers. According to https://developers.cloudflare.com/workers/runtime-apis/fetch-event/#parameters these (could) vary on each call, so they need to be available in the hander somehow. I looked at passing something through HandlerContext or when calling UniversalHandler, but did not see a way to do so.
If something like the convert request/response gist eventually ends up in connect-es that'd be neat!

Robbert, the (improved) code from the request/response gist landed in https://github.com/bufbuild/connect-es/pull/575. Unfortunately, it uncovered an underlying issue: Our handlers return the response before the implementation had a chance to populate the response headers. We need to address this in our handlers before this is really usable.
For passing around env and ctx parameters, it looks like you need something similar to https://github.com/bufbuild/connect-es/issues/586?

I'm not familiar with express but based on my reading of https://expressjs.com/en/api.html#res.locals it looks like something I could have reached to context for in Go. Anything similar in connect-es that lets me pass a value into a handler (ideally typesafe without any) would work.

Hey @timdp 👋

Are you saying that when we convert a universal response to a fetch response, we do so before the headers on the universal response have been populated?

That is correct. Consider this server-streaming RPC implementation, which sets a response header before it streams two response messages:
async function* streamingRpc(req, ctx) {
  ctx.responseHeaders.set("Foo", "Bar") // should set response headers
  await delay(150);
  yield new Resp(); // sends some bytes in the response body
  await delay(150);
  yield new Resp(); // sends some bytes in the response body
}

The handler (the function that processes this RPC) returns a Promise<UniversalServerResponse>. With some details elided it is:
interface UniversalServerResponse {
  status: number;
  header: Headers;
  body: AsyncIterable<Uint8Array>;
}

We produced this object too early, before the first line in the implementation block had a chance to set headers. We fixed the issue in https://github.com/bufbuild/connect-es/pull/588, by waiting for the first bytes of the response body before resolving.
To really support Cloudflare Workers and the Vercel Edge runtime, we need automated test coverage. Both Vercel and Cloudflare offer tooling to run in a simulated environment, which is useful to surface some issues. I don't think we can avoid running tests on the actual platform though. Happy to bounce some thoughts how to tackle this 🙂

Thanks for clarifying, and great to read this in #588:

The fix is to wait until the first response body byte is produced before resolving the response.

because that would have been my suggestion too. 😁
So it sounds like the current status is:

There are currently no known blockers.
Therefore we should be able to run a Connect router on Workers (essentially using #575).
However, as there are no integration tests using e.g., Wrangler/Miniflare, calling it "supported" would be a stretch.

Is this accurate?
I do have quite a bit of experience developing Workers and running them at scale, although I'm just jumping into Connect. I'd be more than willing to have a chat about how I (or our team) can help connect those dots—no pun intended.

Hi @timdp, are you on our Public Slack? Trying to figure out a good way to chat...

I am now. Come find me!

@timostamm any thoughts on how env/ctx could be passed to a UniversalHandler and used in a user provided implementation? I haven't been able to find a way to do this other than creating the handlers on each request and accessing them from the closure as in the example, but that's not scaling so well to having many rpcs.

@robbertvanginkel I think this might be a good use case for the emerging AsyncLocalStorage API that's already supported in Workers today.

Related to the question of env/ctx is https://github.com/bufbuild/connect-es/issues/527


Trouble with exitKiosk with a Cordova/Ionic app

Hi,
I am a relatively newbie to Cordova development and am making a kiosk-style app. I have added your plugin and added the code in your demo, but I cannot get it to exit to application. I have tried using inline script with the onclick event as in your demo code (with the inline-unsafe exception) and also as an ng-click with the AngularJS controller executing the Javascript call to KioskPlugin, but nothing seems to work. The other function isInKiosk also doesn't work. It appears to be possibly not accessing the plugin, but I could imagine it could be a conflict with Ionic/AngularJS although not sure how.
Can you give me any assistance in this? Thanks in anticipation of your reply and wonderful work on the plugin. Even though I can't get the functions to work, the rest of the functionality seems to be intact, locking the device down nicely.
Regards, Neil

The AngularJS and Ionic cannot be a problem - I have used it with them.
To debug cordova application (and to obtain error message) you can use following tutorial:
http://geeklearning.io/apache-cordova-and-remote-debugging-on-android/

Thanks a lot for that. I thought I had an issue with my code. I will continue my debugging on the webview end with the link you sent.


HTMLification

This includes:

an HTML renderer
a dummy renderer (instead of the text renderer; spits out the entire unsupported message)

Instead of creating each display element when picking the most rich, just choose the last most rich renderer (or use the fallback renderer).

We'll later need to handle <script> tags directly by creating a DOM element.


Fix flaky tests

I don't know much about hyper but searching for the "error shutting down connection" error message in its code led me to attempt the graceful_shutdown addition, and I haven't had an example run fail since.

It looks like this wasn't 100% successful, I'm still getting test failures, albeit much less. I don't know enough about hyper and tokio to investigate this further, but maybe this can serve as a start.


Azure Ad as IdP

Hi,
We are trying to use Azure AD as IdP for data.all. We configured Cognito accordingly. We are able to login with Azure AD and we are receiving the list of user groups.
As far as we see for the groups, Azure AD returns just identifiers of the groups  as random strings (not the readable names) and the identifiers are displayed to the users in the UI which is not very user friendly.
We are curious how to handle it since we would like to see the group names in the UI instead. We were thinking about mapping the group ids to group names in the piece of logic inside Cognito pre-token generation trigger. There is one challenge though since the group name can change in Azure AD.  It will affects the values of the tags, policies etc.
I think for the Cognito Groups it is not a challenge because the groups name can't be changed there.
Do you have any recommendation how it can be handled? Did you test data.all with other IdP provides?

Hi @dosiennik,
Did you follow the steps listed in the following guide?
Azure+Active+Directory+Integration+with+Amazon Cognito+User+Pools.pdf
There is an step in which we need to map the attributes from Microsoft AD to Cognito ones. For groups we have to create a custom attribute.

Hello,
Quick note: in the guide Azure+Active+Directory+Integration+with+Amazon Cognito+User+Pools.pdf, the name of the custom attribute should be saml.groups instead of groups. Otherwise it will not work (reference to the code)
And I also faced the same issue with Azure AD group ID. It seems it has been there for a while (stackoverflow issue). As mentioned in this post, I believe the only way is to do what you mentioned, which is implementing some kind of logic that calls Microsoft Graph to map group ID with their name.

Hello,
Thanks for the info  and links. Yeah we noticed it and named the attribute as the code expects. It is mapped correctly although as I mentioned group id is there not the name. Indeed it seems to be Azure's 'feature' ;)  Currently we are working on a piece of logic in the Cognito event to map ids to name before token is generated.

Sure thing, let's keep in touch on the topic.


Expose map (texture) property in RawShaderMaterial.

Texture has to be available in order to be disposed in aframe to avoid memory leaks.
Otherwise each new call to an element with a bmfont-text will increase the number of textures in memory and since RawShaderMaterial doesn't give access to its texture the latter can't be disposed to release unused memory. It can be a limiting performance issue on mobile.
Related to : https://github.com/aframevr/aframe/issues/2166

I'm not sure this change results in the texture being disposed. That issue implies A-Frame would need to change for it to work, right?
I guess if it was really important you could add two lines in the remove method:
var mesh = this.el.getObject3D('bmfont-text');
mesh.material.map.dispose();

Sorry I did not see your reply, thank you for your answer !
The issue was that mesh.material.map was undefined with entities with bmfont so I could not do "mesh.material.map.dispose()" without exposing the map property first. But this PR is a better way to fix my issue

Closing this as it has been open for a while and I'm about to archive the project.


Added button to scroll to solution

This PR should close #413 . It's a very simple label / link that goes to the solution if there is one present. See screenshot:

Happy to make any styling changes, but I think this is pretty neat to have on the forum.

Moved to a re-usable partial. Thanks!

Yes, good idea!

@ryangjchandler seems that this breaks when tags are present. Can you maybe look into that?


Improve generation of HTTP API reference

Document how to send the multiparts for /add
Bring markdown geneartion in line with ipfs-docs-v2
Ignore client-side options
Set curl -X POST
Do not list args of type File in arguments
Improve some formatting

This still leaves things at 0.4.22 so that then we can get a clean
diff of changes for 0.4.23 and eventually for 0.5.0.
Fixes #25
Fixes #4

Looks good!
Two notes probably for future work:

would it be possible to generate the API docs using the standard https://swagger.io/specification/  ?
trailer headers either need to be swapped for another solutions or at least have a secondary way to get those if the client doesnt support it

would it be possible to generate the API docs using the standard https://swagger.io/specification/ ?

Last time I checked (3 years ago), Swagger or apiary did not play well with our API. We have endpoints that support streaming and not streaming, we have multiparts, we have things that take protobufs as input, we have things that take json. Things are just not overly like the writers if RESTful API specs assume they are.
The effort to just write an accurate swagger spec for this API is gigantic, only to maybe find that at the end it cannot produce accurate docs. Additionally, the effort to maintain a swagger spec and keep it aligned is also gigantic.
Therefore, given that we have a one-click way of producing docs out of the actual code, and that this has saved us many developer hours and is mostly accurate, I take every chance to repeat that I am against the swagger approach for impractical, even if the current spec version would somehow be proven to accommodate all our API choices. I wish things were different though.

trailer headers either need to be swapped for another solutions or at least have a secondary way to get those if the client doesnt support it

Yeah!

Moving forward with this, can address anything else later.


[eng] UK phonetic tilde in transcriptions

Our English UK phonetic data has ~ separating alternate pronunciations similar to - which we previously removed.
Ex: dance	d æ n s ~ d a n s

I'm not seeing this at head; is this still current?

Yes, it's in a few language.
English UK phonetic (21 of them)
English US phonetic (22 of them)
Persian phonemic (72 of them here)
Kazakh phonetic (16 of them)
Icelandic phonemic (3 of them)
Italian phonetic (just 1 of them)
Hebrew phonemic (2 of them)

I suppose our whitelisting approach will keep these out of the data, but I may just go edit them upstream.

I'm going to close this and open a new bug just for Persian.


MD-4848: Added parameters overriding via maven CLI arguments

@agozhiy could you please review this PR?

@agozhiy could you please review changes by your comments?

+1


feat(demo): use angular-cli for demo-example

What kind of change does this PR introduce? feature
fix #539

This change is

Codecov Report

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

@@           Coverage Diff           @@
##           master     #542   +/-   ##
=======================================
  Coverage   93.69%   93.69%
=======================================
  Files          17       17
  Lines         746      746
  Branches      210      210
=======================================
  Hits          699      699
  Misses         47       47

Continue to review full report at Codecov.

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


Fixing panic when -h is an argument

If you are using stdlib Flags, and one of your flags implements TextMarshaler and TextUnmarshaler, commander panics when the -h flag is passed as an argument.

@jaffee, Could you please check this PR? Thanks!!!


Firefox support?

I have no idea if this is possible. Firefox has been implementing WebExtensions APIs so maybe the chrome side would be easy?

Hi, sorry for the late reply!
I will close here as this is an issue on the browser plugin side.
I saw you already reacted in https://github.com/tuvistavie/atomic-chrome/issues/5, so let's continue the discussion there


[Date of Birth is a day less in preview]

My birthday is 12/09/1983, I choosed it in the left inside Basics, but in the page is displayed December 08, 1983

OS:  Windows 10
Browser  Firefox
Version  108.0.2

Currently, the issue is only in the preview. When exporting as PDF, it should display the exact date you entered. I'm still trying to figure out what the best way to solve this would be.


Using Spring Data REST returns 404 on idempotent and unsafe operations

When I test the application from the Spring Sata REST tutorial here using the patch() and delete() functions, I get 404's on item resources using delete, and patch methods.

Nevermind, I forgot to add the @DirtiesContext(classMode = BEFORE_EACH_TEST_METHOD) annotation


⭐ add artifacts for JOSS integration

@milancurcic how is that for code snippets? Please let me know as I'd like to submit this sooner than later.

@kevinsantana11 so this branch does not have the code, just the paper. That is your understanding of what the journal wants?

@selipot Can you set a target submission date?
The code snippets are good.
I've only reviewed for JOSS and not submitted, so I don't know where exactly is the paper supposed to be put/or uploaded, but as reviewers we review the codebase to a greater detail/depth than the paper itself.

@selipot Can you set a target submission date?
The code snippets are good.
I've only reviewed for JOSS and not submitted, so I don't know where exactly is the paper supposed to be put/or uploaded, but as reviewers we review the codebase to a greater detail/depth than the paper itself.

On my way to the airport without my computer so next week on April 24. Submit is here  https://joss.theoj.org/papers/new

We also need to archive the latest release on zenodo which I will also do on April 24

OK, I'm quite booked preparing for a conference next week so my input will be minimal. I'll post my suggestions on Friday.

@selipot once all of the folks are happy with the contents I can proceed with submitting the paper here: https://joss.theoj.org/papers/new.

@kevinsantana11 I still need to archive the latest release with zenodo. I will take care of this and the submission next week once we get @milancurcic text edits