Provide and document options to reduce content of build result

Expected Behavior
When executing a build, a lot of files are written to the dist folder that might not be required at runtime, such as:

All locale/language-specific files (CLDR, messagebundle_*.properties)
All themes (incl. RTL-variants)
Individual JS files that are part of a bundle (e.g. sap-ui-custom.js / library-preload.js / Component-preload.js)

This is relevant when packaging the app e.g. with Cordova, as the application bundle can become quite large. It also speeds up deployment e.g. when uploading the files to a server.
It would be helpful if a project could declare/define which locales/languages/themes should be supported. By default all variants should be used.
Current Behavior
It is currently only possible to exclude -dbg.js files

via API excludedTasks: ["createDebugFiles"]
or via CLI option --exclude-task=createDebugFiles

Context

UI5 Module Version (output of ui5 --version when using the CLI): 0.2.6

Affected components (if known)

[x] ui5-builder
[ ] ui5-server
[x] ui5-cli
[ ] ui5-fs
[ ] ui5-project
[ ] ui5-logger

Background is a Cordova build I made using the basic template app as web content. These are the results of ui5 build self-contained --dest www --all --exclude-task=createDebugFiles
This is an overview by file type - you can see that 65% of the build is just JSON, CSS and .properties files.

Digging deeper it becomes apparent that most of this is related to localization, themes and RTL/LTR layouts.

The other thing is that many of the js files are redundant with the sap-ui-custom.js built this way, and ideally those bundled files would be removed. Files not bundled this way are probably dead weight, too, if the intention is to bundle everything declared by the app.

@matz3 Hi Matthias, how do I specify excludedTasks: ["createDebugFiles"]  in detail?
I guess in `ui5.yml' file ? Do you have a small example? This does not work:
specVersion: '1.0'
metadata:
  name: ui5_compile
type: application
builder:
  excludedTasks:
    - createDebugFiles

@jrondorf my example was related to the API. When using the CLI this needs to be passed as option on the command line (--exclude-task=createDebugFiles), e.g:
ui5 build self-contained --all --exclude-task=createDebugFiles

@matz3 Thanks, this works fine. Grüße, Jannis

Possible task for us: Document options to reduce size of build results


[chart] Fix Chart.getImage typo

Fixes #128.

Docs Build status updates of commit b6de5e1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/docs-ref-autogen/excel/excelscript/excelscript.chart.yml
:white_check_mark:Succeeded
View (office-scripts)

generate-docs/api-extractor-inputs-excel/excel.d.ts
:white_check_mark:Succeeded

generate-docs/json/excel/ExcelScript.api.json
:white_check_mark:Succeeded

generate-docs/script-inputs/excel.d.ts
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8d12796:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/docs-ref-autogen/excel/excelscript/excelscript.chart.yml
:white_check_mark:Succeeded
View (office-scripts)

generate-docs/api-extractor-inputs-excel/excel.d.ts
:white_check_mark:Succeeded

generate-docs/json/excel/ExcelScript.api.json
:white_check_mark:Succeeded

generate-docs/script-inputs/excel.d.ts
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[Snyk] Security upgrade node from 12 to 20.7

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

Dockerfile

We recommend upgrading to node:20.7, as this image has only 161 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

714
SQL Injection SNYK-DEBIAN9-OPENLDAP-2808416
No Known Exploit

714
SQL Injection SNYK-DEBIAN9-OPENLDAP-2808416
No Known Exploit

714
OS Command Injection SNYK-DEBIAN9-OPENSSL-2807589
No Known Exploit

714
OS Command Injection SNYK-DEBIAN9-OPENSSL-2807589
No Known Exploit

714
OS Command Injection SNYK-DEBIAN9-OPENSSL-2807589
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 SQL Injection

yes


🐛滚动表格后，鼠标移动会重置已选的单元格

🏷 Version

Package
Version

@antv/s2
-1.3.0

@antv/s2-react
- 1.3.0

🖋 Description

滚动表格后，鼠标移动会激活高亮十字动作，已选的单元格消失（重置）
⌨ Code Snapshots
例子：https://s2.antv.vision/zh/examples/case/kpi-strategy#basic

🔗 Reproduce Link
🤔 Steps to Reproduce
单选/多选单元格，滚动表格（需要滚动条），移动鼠标，高亮消失

😊 Expected Behavior
已选的单元格高亮维持
😅 Current Behavior
已选单元格消失
💻 System information
chrome: v96 Macos

:tada: This issue has been resolved in version @antv/s2-v1.4.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


TS-4442: Fix code coverage.

This fixes the code coverage configuration and removes calls to _exit that prevent coverage data being emitted. Note that we assume the fix for TS-4441 and replace a couple of manual exits with Fatal.

[approve ci]

[ci approve]

Test from Jenkins

@bryancall Wasn't there a reason why we changed to _exit() again?

[approve ci]

[approve ci]

Same here, did you really intend for these branches to get pushed into the main repo?


[Tracking] Migrate to zig version 0.12

Overview
This issue tracks the migration of our codebase from Zig version 0.11 to 0.12. This migration is crucial to keep our application up-to-date with the latest features and improvements in the Zig language. Merged when 0.12 becomes stable.
Task Breakdown

Review Zig 0.12 Release Notes
Codebase Compatibility Assessment
Update Codebase to Zig 0.12
Documentation Update
Testing and Quality Assurance

Reporting
Please update this issue with progress, challenges, or any assistance needed.
Final Checklist

[x] Code updated to Zig 0.12
[x] All tests pass
[x] Documentation updated

closing as completed in PR #37


load_model_sharded needs minor fix

🐛 Describe the bug
load_model_sharded has a minor and needs a quick fix like: https://github.com/facebookresearch/llama-recipes/commit/11341082ababd8981c03dd4d16be780e4b91969f.
I assume this is expected to be used to pair with save_model_and_optimizer_sharded, so we need to match the dict key.
cc @HamidShojanazeri

@lchu-ibm thanks, can you pls add it to the other PR.


Error when getting related images (KeyError: 'ity')

Hi, great tool. I just wanted to share this traceback that I encountered:

Completed Image Thumbnail ====> 500_F_271828072_OCQ5f55rK6kfryfR2RD2hYo56XaPZQvn.jpg
Image URL: https://st2.depositphotos.com/1902695/11244/i/950/depositphotos_112442314-stock-photo-blue-triggerfish-in-maldives-blue.jpg
Skipping image download...
Image URL: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRpCUAhowhg5w67JkO5rgjFB09UOlA8PDhL8ineVHhXle1aXNFq0g
Completed Image Thumbnail ====> depositphotos_112442314-stock-photo-blue-triggerfish-in-maldives-blue.jpg

Now Downloading - underwater landscape - ; background-color
Getting you a lot of images. This may take a few moments...
Reached end of Page.
Traceback (most recent call last):
  File "/usr/local/bin/googleimagesdownload", line 11, in <module>
    load_entry_point('google-images-download==2.8.0', 'console_scripts', 'googleimagesdownload')()
  File "/usr/local/lib/python3.7/dist-packages/google_images_download/google_images_download.py", line 998, in main
    paths,errors = response.download(arguments)  #wrapping response in a variable just for consistency
  File "/usr/local/lib/python3.7/dist-packages/google_images_download/google_images_download.py", line 825, in download
    paths, errors = self.download_executor(arguments)
  File "/usr/local/lib/python3.7/dist-packages/google_images_download/google_images_download.py", line 978, in download_executor
    self._get_all_items(new_raw_html, main_directory, search_term + " - " + key, limit,arguments)
  File "/usr/local/lib/python3.7/dist-packages/google_images_download/google_images_download.py", line 760, in _get_all_items
    object = self.format_object(object)
  File "/usr/local/lib/python3.7/dist-packages/google_images_download/google_images_download.py", line 275, in format_object
    formatted_object['image_format'] = object['ity']
KeyError: 'ity'

What is the command you sent? It will help to debug and try to understand the issue.

I believe it was:
googleimagesdownload -k 'underwater landscape' -l 600 -ri -tho -o ~/somefolder/ -cd chromedriver

This is what the object looks like for me on some of the messages. object {'th': 1200, 'tw': 1200}


Set "type" to "module" in package.json

Description

Who wants the functionality
Those loading lit-element in Node >=13 while doing SSR

What it is they want
Load lit-element as ES Modules without converting to CJS.

Why they want it
This lets toolchain to load lit based project as ES Modules so that they can run in Node without using bundling tools.

Acceptance criteria
What the card must do in order to accept it as complete. Acceptance Criteria must be concrete or measurable.
Create a release after changing "type": "module" in package.json

Either this, or have explicit CJS export as "main". Currently, Node attempts to load it as CJS but encounters "import/export" syntax and breaks.
A practical use case: Jest as of version 25.2 supports ES Modules (without Babel) and work fabulously for me, except for importing these webpack-oriented packages that are seen as CJS in Node's eyes but  are ES Modules in reality.


Pagination does not seem to work

For the following code:
require 'cloudflare'
dns_records = nil
Cloudflare.connect(key: api_key, email: email) do |connection|
  zone = connection.zones.find_by_name('mydomain.info')
  dns_records = zone.dns_records.get
end
dns_records.results.length

dns_records.results.length outputs 20. I definitely have more than 20 records.
Does Paginate.each only paginate zones and not dns records inside of zones? I'd be OK doing zone.dns_records.get.find_by_nameto get a result as well, but that only returns a record if it's in the first 20 returned results which is also a problem.

Oh, I also just noticed - https://github.com/socketry/cloudflare/blob/master/lib/cloudflare/dns.rb#L83 - why call .first? Cloudflare's API returns each address as a separate record, so that would only return the first record, but a name with multiple IP addresses will have a unique record for each IP address

Same issue here: how do I get more than 20 items back as response?
...
zone = connection.zones.find_by_name(DOMAIN)
dns_records = zone.dns_records.get # this returns only 20 items
---

Thank you.

Does zone.dns_records.each give all the records?

Does zone.dns_records.each give all the records?

No. Still only 20:
dns_records.body[:result].count
=> 20

I'm wondering if there is a way how to pass "per_page" to my query dns_records = zone.dns_records.get # < param possible?. According to https://api.cloudflare.com/#getting-started-requests (see Pagination), we can pass per_page param like this
curl -X GET "https://api.cloudflare.com/client/v4/zones/cd7d068de3012345da9420df9514dad0/dns_records?page=3&per_page=20&order=type&direction=asc" \
     -H "Content-Type:application/json" \
     -H "X-Auth-Key:1234567893feefc5f0q5000bfo0c38d90bbeb" \
     -H<EMAIL_ADDRESS>

iirc Cloudflare's api requires pagination unless you have a small enough number that you can fit it in a page. I think that calling dns_records.each.entries will give you an array of all of them, but I'm not somewhere that I can test that right now. You can see how each is implemented here: https://github.com/socketry/cloudflare/blob/master/lib/cloudflare/paginate.rb#L25

Does zone.dns_records.each give all the records?

It does, you are right - my fault. This returns an enumerator with all items which I can iterate on:
zone.dns_records.each do |rec|
  puts(rec)
end

Thank you. This gets me going again :-)

iirc Cloudflare's api requires pagination unless you have a small enough number that you can fit it in a page. I think that calling dns_records.each.entries will give you an array of all of them, but I'm not somewhere that I can test that right now. You can see how each is implemented here: https://github.com/socketry/cloudflare/blob/master/lib/cloudflare/paginate.rb#L25

This also works and returns all entries at once which again I can iterate on. Thank you.
My only problem left is that the call dns_records.each.entries takes ~90 sec for 85 entries. Are there any strategies how to speed this up?

Well, the performance will depend on how fast Cloudflare is. Because you have to fetch one page at a time.

Maybe you can set per_page to 100 so it gets them in a single request?


Testing

We need a decent story for testing, in particular testing action creators and stores.
@mohanzhang showed some examples about how to do this, just need to write it up as a guide

Try to build discussion board/forum, I think you can test all the possible cases, that includes:

user registration and login
threaded routing
state for topics and posts
pagination
offline support
caching
uploading of an attachment
markup encoding/decoding

And many more stories can be tested.

:+1:

Question, would the new ability to use ES6 syntax and and Marty.register be affecting the ability to test with Jest? In particular the mocked functions Jest generates?
I'm relying on Jest to mock a source, something like:
class CounterAPI extends Marty.HttpStateSource {
  constructor(options) {
    super(options);
    this.baseUrl = '/api/v1';
  }
  getCounters() {
    ...
  }
}
Marty.register(CounterAPI);

When I inspect the required, mocked object I can see the baseUrl: '/api/v1' on it but none of the functions (e.g. getCounters) present as mocked versions of themselves.
I tested the removing the ES6 class / registry call and replacing it with the "classic" method and I can see the mocked functions again without problems.
I don't have my head around the new the Registry API yet and I suspect this problem is something related to that perhaps? If so, it would be good to mention how Jest integrates with the new syntax.

Hi all, I'm putting together a guide on testing marty types here. I think we should merge the relevant bits afterwards :). It uses mocha but could very well be abstracted away from it and other test suites -like tape or jest- could be used then.

One thing I feel is worth mentioning since it's caused me all kinds of problems recently (and this is a React TestUtils problem, not a Marty problem):
When using React's TestUtils.renderIntoDocument, it never ends up "unmounting" the components you pass in because it just "renders" them in a detached DOM node. This, however, creates havoc when you're using containers because the observers are never disposed as a result. So you'll inevitably see really bizarre side-effects while testing stores or something seemingly unrelated further down the line because the container will still be observing and reacting to changes.
I've found you basically have a couple of choices:

Call component.observer.dispose() manually.
Probably the better option: Call React.unmountComponentAtNode(React.findDOMNode(component).parentNode); once you're done to force all the unmount logic to run on the node and its children. This is necessary if your containered component has children that also have containers to ensure they're also disposed.

I'm not quite sure where this fits into whatever anyone is working on, but there you go.

https://github.com/QubitProducts/react-test-tree
This might help you with testing. It's a library we wrote at Qubit that
makes testing react components so much simpler.
On 22 May 2015 09:28, "Chris Barmonde"<EMAIL_ADDRESS>wrote:

One thing I feel is worth mentioning since it's caused me all kinds of
problems recently (and this is a React TestUtils problem, not a Marty
problem):
When using React's TestUtils.renderIntoDocument, it never ends up
"unmounting" the components you pass in because it just "renders" them in a
detached DOM node. This, however, creates havoc when you're using
containers because the observers are never disposed as a result. So you'll
inevitably see really bizarre side-effects while testing stores or
something seemingly unrelated further down the line because the container
will still be observing and reacting to changes.
I've found you basically have a couple of choices:

Call component.observer.dispose() manually.
Probably the better option: Call
React.unmountComponentAtNode(React.findDOMNode(component).parentNode);
once you're done to force all the unmount logic to run on the node and its
children. This is necessary if your containered component has children that
also have containers to ensure they're also disposed.

I'm not quite sure where this fits into whatever anyone is working on, but
there you go.
—
Reply to this email directly or view it on GitHub
https://github.com/martyjs/marty/issues/19#issuecomment-104567408.

@chrisbarmonde I actually just blogged about another library called react-test-tree which makes this process a bit easier:
// instead of
TestUtils.renderIntoDocument(<Foo />);

React.unmountComponentAtNode(React.findDOMNode(component).parentNode)

// you do

let tree = testTree(<Foo />);

tree.dispose();

Oh, @oliverwoodings beat me to the punch!

WAHAHA

Hahaha, awesome. I'll check it out. Thanks guys!

Just created a repo with examples for v0.10 https://github.com/martyjs/marty-test-examples


Can't sell amounts of crypto with more than 3 decimals

I am trying to sell a "0.00031300" of DOGE to USDT by running the following command:
order = client.order_market_sell(symbol='CAKEUSDT', quantity=0.00031300)
and getting the following error
Traceback (most recent call last):
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\test.py", line 31, in <module>
    order = clientbinance.order_market_sell(symbol='CAKEUSDT', quantity=0.00031300)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 1539, in order_market_sell
    return self.order_market(**params)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 1483, in order_market
    return self.create_order(**params)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 1345, in create_order
    return self._post('order', True, data=params)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 323, in _post
    return self._request_api('post', path, signed, version, **kwargs)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 265, in _request_api
    return self._request(method, uri, signed, **kwargs)
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 260, in _request
    return self._handle_response()
  File "C:\Users\tomi-\PycharmProjects\pythonProject1\venv\lib\site-packages\binance\client.py", line 313, in _handle_response
    raise BinanceAPIException(self.response)
binance.exceptions.BinanceAPIException: APIError(code=-1013): Filter failure: LOT_SIZE

I can't round this number to 3 decimals because if I do that I get the following output 0.0.
This is really bad since I can make exact transactions if I need to round every single time I want to sell or buy something.
I also didn't find an option to buy/sell the max amount possible with any command.

@fortoken01 try to see limits in get_exchange_info or get_symbol_info

As Alex said, this is to do with Binance's rules. The smallest amount of Doge you can trade is 0.1, and the minimum order has to be worth 10 USDT. More here: https://www.binance.com/en/trade-rule

sorry for the issue, I noticed it hours later of making this issue. well it kinda sucks to not being able to fo full sizes cause the fee binance takes from trading disrupts values like 1.000

You also have the option of using BNB for fees on your trades which keeps your amounts of other crypto cleaner.

I have also created a blog post going into detail about the Spot filters.
https://sammchardy.github.io/binance/2021/05/03/binance-order-filters.html


How to get a desktop-environment in nixos to work with a raspberry-pi-4?

Hello @Robertof ,
After following these instructions to build nixos on a raspberry-pi-4:
https://gist.github.com/chrisanthropic/2e6d3645f20da8fd4c1f122113f89c06 ,
I was able to get nixos to build on the raspberry-pi-4 without any errors thrown, which is great.
But, whenever I enabled x-server, plasma5, and lightdm, it throws the error: X11 server failed to start and display-manager.service failed to start?
How do I troubleshoot this issue?
I'm sure others have ran into this same issue and fixed it, so if you know of any good nix documentation on how to fix this issue, then if you could please let me know.
Thanks in advance for the help, I think I'm close to getting nixos fully functional on my raspberry-pi-4, but I have to fix this issue to move forward.
If you require more information, then I can pastebin the logs that show the errors.

Hey, thanks for reaching out.
Unfortunately I've never really ran a graphical environment on my Pi via Nix, so I don't think I will be able to give you any consistent help. If you already inspected the logs with journalctl (e.g. journalctl, journalctl -u display-manager.service) then I'm afraid you already did more than I would have suggested you!
You might want to reach out to any of the NixOS communities, such as IRC or the official forums. I've asked questions before and everyone has been extremely kind.
Apologies for not being much of help - I will close this issue as it's not related to the SD image builder, but feel free to reach out if anything else goes wrong!

It turns out some extra drivers were, missing, they've recently added them now, so this issue should no longer persist with current nixos-pi-4 build-images.


Add a feature: Generate URL Path from frontmatter

Is your feature request related to a problem? Please describe.
I found this and want to generate a site with it. But I found that the URLs is generated from filename, which is not good for displaying, SEO, etc. when the directories and filenames are not ASCII-only, such as /Linux/入门/连接 Linux 服务器.md to /Linux/%E5%85%A5%E9%97%A8/%E8%BF%9E%E6%8E%A5-Linux-%E6%9C%8D%E5%8A%A1%E5%99%A8.
Describe the solution you'd like
Add a feature that can generate URL Path from an argument (the name of it can be permanent abbrlink link or others) in frontmatter in md file.
If there is an index.md in a directory and the frontmatter in it has the argument, the directories and files in the directory also use the argument name as the parent path.
eg:
/Linux/入门/连接 Linux 服务器.md to /linux/starter-guide/connect if:

set permanent: linux in /Linux/index.md (Here use permanent as the argument name)
set permanent: starter-guide in /Linux/入门/index.md
set permanent: connect in /Linux/入门/连接 Linux 服务器.md

If the argument is not set in one file, the corresponding path is still generated as current.
Grammar of wikilinks has no changes, still input filename, but only modify the link: For the example above, if set markdownLinkResolution: "shortest", [[连接 Linux 服务器]] will be linked to /linux/starter-guide/connect if there's only one file matches the name.

I agree something like this would be an excellent feature to add. Maybe it would be possible to overwrite FileNode.file.slug with FileNode.file.frontmatter.slug? (or permalink)
In the meantime, would using aliases solve your current issue?

aliases solves a different issue, could be a current workaround for now. But I think there might be some merit to this. @jackyzha0 any thoughts on this?
However, I'm a bit hesitant since we already inflated the frontmatter a lot.

This unfortunately is really difficult to do in Quartz because each note is processed in parallel so other notes won't have a way to look up the frontmatter of the notes they are linking to until much later in the process. Quartz relies on being able to convert links -> href in a pure manner that doesn't rely on parsing the target note and this invalidates that assumption
I'm also hesitant to integrate this as it will require an entire link rewrite step after all the parsing

I wanted this feature, but then I realized I value the speed and the reasons that @jackyzha0 mentioned are valid.
Also this was an opportunity for me to clean up or shorten by note names. I also realized urls are generated from note names but still I can use frontmatter title which can be different. This wasn't clear until now (so adding this point to the documentation could make it easier for some)
Finally, is there an easy way to generate links to files (for example from index) where the link text is actually from the frontmatter title field, but it links to the file? (other than manually typing it of course)


Popmenu.md

Description 📜
i added a Popmenu.md file in  Android & try to explain the  concept as easy i can.
Fixes #6974

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[x] Android Dev (Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

@VikasPandey121 @sitamadex@rohit-2602 plzz review the PR...& Merge this...


chore: Enable Java compat tests for records types

Fixes #100.

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

Project coverage is 96.94%. Comparing base (c143818) to head (e8fcac4).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #176   +/-   ##
=======================================
  Coverage   96.94%   96.94%
=======================================
  Files          15       15
  Lines        1079     1080    +1
  Branches      140      140
=======================================
+ Hits         1046     1047    +1
  Misses         23       23
  Partials       10       10

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


localCI: vendor ciao-down

in order to support the use of VMs to test pull request
localCI should use ciao-down
fixes #278
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

lgtm

niggles, otherwise
lgtm

seems like vendoring ciao-down won't be needed if this pr is merged
https://github.com/clearcontainers/tests/pull/247


Resizable bar should no longer be visible in full screen chart view

Describe your changes
Fixed resizable bar being visable in chart view.
Link the related issue
Closes #3052

this change has been committed directly to the release-1.5 branch


unable to run the converted java file

I was able to make a basic 'hello world' python file, but the '.class' file, but I couldn't run that file.
Please help !

What error are you getting?
Please make sure you followed all the instructions, and that the paths are correct.

Make sure you have the correct directory structure as shown here: http://voc.readthedocs.io/en/latest/tutorial/tutorial-0.html#start-a-new-project


Feature: Webapp can have engine connectivity

Description
Currently, the webapp can only convert diagrams directly provided to it.
Now, it can be used to extract process definitions directly from the process engine REST API, convert it and download it.
Additional context
Closes #54
Testing your changes
There were no tests added.
Types of changes

[ ] Bug fix (non-breaking change which fixes an existing open issue)
[x] New feature (non-breaking change which adds functionality to an extension)
[ ] Breaking change (fix or feature that would cause existing functionality of an extension to change)
[ ] Documentation update (changes made to an existing piece of documentation)

Checklist:

[x] My code adheres to the syntax used by this extension.
[x] My pull request requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the Camunda Community Hub documentation.
[x] I have read the Pull Request Process documentation.
[ ] I have added or suggested tests to cover my changes suggested in this pull request.
[x] All new and existing CI/CD tests passed.
[x] I will /assign myself this issue, and add the relevant [issue labels] to it if they are not automatically generated by Probot.
[x] I will tag @camunda-community-hub/devrel in a new comment on this issue if 30 days have passed since my pull request was opened and I have not received a response from the extension's maintainer.

I think that this manifest stuff with the engine connection is too complicated.
My assumption is, that the web app is installed as a public service on the internet, where you can check and convert BPMN files stored on your hard drive.
As a power user, you may use the command line client to convert all (or many) files that you find either on your hard drive or in a running Camunda Platform 7 installation.
At the moment, you configure the engine URL in the application.yml and run the web app in a local installation. This is too much effort if you can get the same result from a public service.
It is more reasonable to enter the connection properties on a command line, only available on your local computer, without providing them to a website.

I think these changed are perfect here. They are part of a migration story which will end up in migrating process instances.
We could think about moving the engine connection to core and also implement it with CLI.

@jonathanlukas,
could you please elaborate on this:

They are part of a migration story which will end up in migrating process instances.

Imagine there are many installations of the conversion web app around the globe on several servers in different companies. It becomes very tedious to make all admins to upgrade them in case we offer better migration support.
It would be easier with a command line installation and a central web app installation.

@ingorichtsmeier This is exactly what I had in mind:
The webapp can be used to monitor the connected process engine, identifying potential problems when migrating a process.
Then, it will be able to connect it Camunda 8 (Zeebe and Operate).
From Operate it can fetch process definition data and possibly match by bpmn process id. It can then offer a migration of running process instances.
Et voila, automatic migration.


updated validation.py python script. Fixed the behavior of validate_u…

…ser function in validations.py
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Bumping from 4.17 to 4.20: Could not locate the included file 'read-time.html'

Environment

Minimal Mistakes version:
Ruby gem or remote theme version:
Jekyll version:
Git repository URL:
GitHub Pages hosted (if yes provide URL to site):
Operating system:

Expected behavior

Steps to reproduce the behavior

Other

Check #2526. That file has been renamed. You must have overridden some files which kept some references to the old name.

Indeed, my _includes/archive-single.html contains a reference to that file ...
Sorry for the bothering, and thanks for the quick answer !


Replumbing: Add include/openssl/core.h, initially with core types

Checklist

[x] documentation is added or updated
[ ] tests are added or updated

Typo intially  in commit message, and PR Title ;)

Hmmm, hang on, the _PTR part isn't quite right.  The intention of the OSSL_PARAM is that it should be possible for the structure to be constant, and for someone responding to a request to handle that...

My "hold on" meant that I'll make a change, so the approval came a little early :wink:

Ok, reconfirmation needed

I'm currently reworking the documentation.  OSSL_PARAM is getting a manual of its own, doc/man3/OSSL_PARAM.pod

Rework done for now, please have a look.  I hope I've been able to make things clearer.

Added a NOTES section with some recommendation on how functions that treat the OSSL_PARAM array should behave

Took this out of WIP.  As far as I've seen, it's only been small tweaks, so a final review?

I think I've answered all concerns so far.  Anything else?

This is bringing over some comments from #8320.
This code is designed to enable function calls from openssl (or applications) to crypto providers. It might be possible to do more, but that is the minimal goal that needs to be met. Some on the project envision doing more than this.
Not only are all the pieces (caller, middle/roundezvous, implementer) all on the same host, they are all in the same address space. Previous discussion among the FIPS sponsors mailing list indicated that going off-process or off-host was not a goal.
It has also not been stated that supporting languages other than C, without some kind of foreign-function interface or other shim, is a requirement. Perhaps some would like to do that, but it wasn't a goal and shouldn't be.
What can be simpler than treating C scalar types -- int, unsigned long, etc -- as their native types?
I am preparing a PR that replaces pieces of this and all of #8320 with a design based on the above principles.

How much is that going to alter the design that we currently have?

I intend to be API compatible.

I have no idea what you mean with that. Open structures are also part of the API.

Until I have some working code, i have no better answer to give.  I hope for no impact.

Is this PR (and everything that depends on it, which is, well, everything) implicitly on hold, or is it OK if reviews carry on while you do your stuff?

That's for you committers and OMC folks to decide. I hope to have a PR before the end of the week (I'm out all day Weds for personal stuff).

But thanks for the consideration you give me!

What can be simpler than treating C scalar types -- int, unsigned long, etc -- as their native types?

This is happening here and in #8320 native types will come across with a straight copy.  They are passed as a pointer to the native type rather than the type itself.

You do run-time byte-order testing, and size/sign fiddling

Yes, but only if the sizes don't match.  Pass an int in and ask for an int out and it is a straight copy, no fiddling.  Checking is optimised out and I'm switching to using cpp instead.

If you put in an int, you should only get an int out.  Don't automate widening, etc.  C doesn't do that.

C does widen (and narrow):
int x;
long y;

y = x;    /* widening */
x = y;    /* narrowing */

Thanks for the C programming lesson :) It does that only in explicit assignments, and you often need a cast or the compiler will complain.
It only does it in ANSI C when a prototype is in-scope, and only for input parameters.

The OSSL_PARAM structure includes the type, isn't the best correspondence the ANSI C prototype case?

No, because it doesn't include the fully-specified type and will silently over/under flow if the width is wrong.

I've worked with the assumption that specific parameter will not change data type or size over time, i.e. if an object parameter "h" for a key in the algorithm "blargh" is specified to be a 64-bit unsigned integer, that will not change.  Of course, actually knowing this is a matter of documentation with the provider that implements "blargh".

I completely agree with that.  Auto-resizing goes against that, and is error-prone.

side note: I keep mentioning "blargh" in my examples...  I really should specify that algorithm, and it should be just as good as the name suggests :wink:

Auto-resizing goes against that, and is error-prone.

That, however, isn't part of this PR

well, kinda, because this PR doesn't include enough support to "properly" handle scalars.  And you told me to post here, not in #8320 :)

I told you to discuss OSSL_PARAM here.  If you want to discuss @paulidale's added functions, #8320 is more appropriate.

this PR doesn't include enough support to "properly" handle scalars.

Dunno what you mean with "properly".  Put a pointer to your scalar in param->buffer and you're done!

i'll answer in my PR

Meanwhile, I rebased this on top of a fresh master, and squashed all fixup commits

Not only are all the pieces (caller, middle/roundezvous, implementer) all on the same host, they are all in the same address space. Previous discussion among the FIPS sponsors mailing list indicated that going off-process or off-host was not a goal.

I wonder if we may have a misunderstanding here?  I can't recall this actually being discussed and indicated, except that we don't expect to see any other provider than the FIPS module and the default provider for 3.0.0 specifically.  The stuff here, though, isn't just about 3.0.0, and I would rather stay clear of making too many assumptions about future provider modules.

Not only are all the pieces (caller, middle/roundezvous, implementer) all on the same host, they are all in the same address space. Previous discussion among the FIPS sponsors mailing list indicated that going off-process or off-host was not a goal.

I wonder if we may have a misunderstanding here? I can't recall this actually being discussed and indicated,

I don't recall having that discussion either. I do expect Provider authors to be able to do those sorts of things (even if we don't have any providers that do it in 3.0.0)

Merged.
4ca00f934f0b86dc1112c360f4b2ce3bd7ab8c93 OpenSSL::Util::Pod: allow slashes in names
7753be74a3c90e21d0d29d6131d9e751476f81ec Replumbing: Add include/openssl/core.h, initially with core types


fix: add license copyright

This should be a chore IMO. This matters because the changelog is based off our commits.

@craicoverflow testing CI/CD job with some giberish change to fix builds. Ignore that PR for the moment. Localy things work so this is something with github actions


log loaded driver when using jdbcUrl (Closes #1018)

This PR closes issue #1018.

@johnou Good catch.  That's what I get for merging at 4AM.

my bad. i could just leave the value of jdbcUrl out actually.


fix: Modify the LeaveChannel popup location

For Internal Contributors
UIKIT-2221
Description Of Changes

Keep displaying the trigger button while the menu is shown
Differentiate ui/ChannelPreview and ChannelList/ChannelPreview with className

Types Of Changes
What types of changes does your code introduce to this project?
Put an x in the boxes that apply_

[x] Bugfix
[ ] New feature
[ ] Documentation (correction or otherwise)
[ ] Cosmetics (whitespace, appearance (ex) Prettier)
[ ] Build configuration
[ ] Improvement (refactor code)

Found root of the issue, will fix differently


Update rangeslider to TypeScript

Could you check it again? @cenkce

I added WithMobileOSProps Could you recheck again? @cenkce


Add prune support to nvm

I was exploring setting up a machine that would continuously test against different versions of node. Seeing how nvm is very easy to use for installing (think nightly nvm i 6 etc) my next concern was removing older versions of node. A nvm prune suggestively should remove all older versions of each major; for instance:
$ nvm ls
        v0.12.7
         v6.3.0
->       v6.3.1
default -> 6.3 (-> v6.3.1)
node -> stable (-> v6.3.1) (default)
stable -> 6.3 (-> v6.3.1) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.4.7 (-> N/A)

$ nvm prune
# Cleaning older versions of node:
# - Uninstalled node v6.3.0
# - did x.y.z
$ nvm ls
        v0.12.7
->       v6.3.1
default -> 6.3 (-> v6.3.1)
node -> stable (-> v6.3.1) (default)
stable -> 6.3 (-> v6.3.1) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.4.7 (-> N/A)

If passed a major (6, 0.12, etc), only clean that major (6.3.0 && 6.3.1 -> 6.3.1)

So the idea is that nvm prune would uninstall all but the latest node, nvm prune X would prune everything under that X that wasn't the latest, etc?
What happens if you're on 6.3.0, and you run nvm prune or nvm prune 6?

@ljharb said:
So the idea is that nvm prune would uninstall all but the latest node, nvm prune X would prune everything under that X that wasn't the latest, etc?

Yes. Similar to how other package managers provide cleanup functions. The difference here is that nvm obviously should allow 6.3.0 and 6.3.1 installed simultaneously whereas other package managers might choose to replace versions.

Nothing. nvm prune should be considered safe, meaning it will only remove versions from 'majors' that has more than one version installed. Also, if one version is set as default, this should also be seen as sticky.

 Shouldn't those be sticky too?

I suggest prune calling uninstall, meaning whatever barriers being in placed there they should be applied as well.

OK, so:
nvm prune:

get all versions (nvm_ls), filter out nvm current and nvm version node ("whatever the latest is in that list")
call nvm uninstall on each one

if there's a failure on one of them, do you proceed to uninstall the rest? Or does that stop, half-removed?

nvm prune X:

get all versions filtered (nvm_ls X), filter out nvm current and "whatever the latest is in that list"
call nvm uninstall on each one

if there's a failure on one of them, do you proceed to uninstall the rest? Or does that stop, half-removed?

Sounds about right. Regarding error-handling I think we should follow the current decision-making. Do you always exit on first error? I think that would be a good idea.

With nvm uninstall, it checks permissions first, and only proceeds if it thinks it'll be able to completely remove everything. Since this is a "batch" argument, there's no precedent for how to handle an error in one job.

I still think that bailing early is the best path here but I don't have a strong opinion; happy to do whatever consensus would be.

I am concerned that this feature could be unnecessarily destructive, especially if the default is "everything" - i'd certainly prefer nvm prune to require a numeric version filter.

I'd be ok with that. Majors would likely be known in a test environment.

+1

Ping.  What's the status of this request?

@relnetops There's been no PR, and I'm still concerned about the destructiveness.

I locally use a simple script to get rid of old node versions from nvm:
#!/usr/bin/bash
a=$(nvm ls | grep -Pzo '\sv\d+\.\d+\.\d+')
b=(`echo $a | tr ' ' ' '`)
lastVersion=''
lastVersionComplete=''
for element in "${b[@]}"; do
 currentVersion=$(echo "$element" | grep -Pzo '(?<=v)\d+')
 echo 'checking '$currentVersion', '$element
 if [[ ! -z $element ]]; then
  if [ "$currentVersion" = "$lastVersion" ]; then
    if [ ! -z $lastVersionComplete ]; then
      echo 'uninstalling '$lastVersionComplete
      nvm uninstall "$lastVersionComplete"
    fi
  else
    lastVersion=$currentVersion
  fi
 fi
 lastVersionComplete=$element
done

Take a look:
Before

Running the script:

After it:


[Bug]: app crashes with module federation since rspack 1.0.0-rc.0

System Info
System:
OS: macOS 14.6.1
CPU: (10) arm64 Apple M1 Pro
Memory: 1012.52 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
bun: 1.0.1 - ~/.bun/bin/bun
Browsers:
Chrome: 128.0.6613.85
Safari: 17.6
npmPackages:
@rspack/cli: 1.0.0 => 1.0.0
@rspack/core: 1.0.0-rc.0 => 1.0.0-rc.0
Details
I have a simple React App with React Router. I use the Module Federation plugin which is built-in rspack.
It works with rspack 1.0.0-beta.5 but not since rspack 1.0.0-rc.0.
You can see the error in the screenshot

It looks like this issue but it's not the same error.
Reproduce link
No response
Reproduce Steps
Create a simple React App with React Router and module federation configured to use a simple remote app.
I can't share my project because it's for my company.

Hi, can you create a new repo and reproduce this issue?

Hello, I will close this issue. I resolved my problem by upgrading react and react-dom from 18.2.0 to 18.3.1.
For now, I don't understand why.


Check code for remaining todos or commented out code

https://github.com/goblint/analyzer/pull/260/files#r662065053
https://github.com/goblint/analyzer/pull/260/files#r662066966
https://github.com/goblint/analyzer/pull/260/files#r662099461
https://github.com/goblint/analyzer/pull/260/files#r662098922
https://github.com/goblint/analyzer/pull/260/files#r662119384
https://github.com/goblint/analyzer/pull/260/files#r662136452

Most TODOs + dead code + commented out code should be removed now

Double-checked all commented out etc., it should be already removed now.


Publish master branch to PyPI

I'd like to include yuppy in a project of mine, which makes extensive use of setuptools.  Publishing the stable branch (master) to PyPI would go a long way towards making this project useful.
Regards,

+1.

Sure I suppose that would be nice :-)

On Nov 1, 2015, at 10:10 PM, Stefane Fermigier<EMAIL_ADDRESS>wrote:
+1.
—
Reply to this email directly or view it on GitHub.

Any movement on this front?  @kuujo I'm happy to maintain the pypi package, provided it makes it into the official repo.


fix(layout): night mode background color now fits full screen

adding 100vh property to layout.css in order to make the background color fill the browser window
Closes #203

i'll fix it

@Bouncey I changed what you asked for

Thanks @gforce2k5, this fixes the challenge view, but now if the map is expanded and I scroll down, I get this

@Bouncey found the problem and fixed, tested locally and it works good (changed height to min-height)


Add subscribe method to action to abbreviate addons

This PR adds a new subscribe method for quickly adding a bunch of action callbacks. Long term, this moves actions closer to the Observable interface, but it also cleans up the action form and button pretty nicely.
I also added some tests to gain some missing coverage.

Codecov Report

:exclamation: No coverage uploaded for pull request base (scheduled-model@700734c). Click here to learn what that means.
The diff coverage is 91.66%.

@@                Coverage Diff                 @@
##             scheduled-model     #408   +/-   ##
==================================================
  Coverage                   ?   84.78%
==================================================
  Files                      ?       45
  Lines                      ?     1288
  Branches                   ?      239
==================================================
  Hits                       ?     1092
  Misses                     ?      163
  Partials                   ?       33

Impacted Files
Coverage Δ

packages/microcosm/src/addons/action-button.js
0% <0%> (ø)

packages/microcosm/src/env.js
100% <100%> (ø)

packages/microcosm-preact/src/presenter.js
100% <100%> (ø)

packages/microcosm/src/addons/model.js
100% <100%> (ø)

packages/microcosm/src/addons/action-form.js
100% <100%> (ø)

packages/microcosm/src/history.js
100% <100%> (ø)

packages/microcosm-preact/src/action-form.js
100% <100%> (ø)

packages/microcosm-preact/src/action-button.js
100% <100%> (ø)

packages/microcosm/src/addons/presenter.js
100% <100%> (ø)

packages/microcosm/src/action.js
100% <100%> (ø)

... and 1 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #408 into scheduled-model will decrease coverage by 1.23%.
The diff coverage is 100%.

@@                 Coverage Diff                 @@
##           scheduled-model     #408      +/-   ##
===================================================
- Coverage            87.32%   86.08%   -1.24%
===================================================
  Files                   45       45
  Lines                 1270     1301      +31
  Branches               232      244      +12
===================================================
+ Hits                  1109     1120      +11
- Misses                 135      147      +12
- Partials                26       34       +8

Impacted Files
Coverage Δ

packages/microcosm-preact/src/action-form.js
100% <100%> (ø)
:arrow_up:

packages/microcosm/src/addons/action-button.js
77.77% <100%> (-22.23%)
:arrow_down:

packages/microcosm/src/addons/action-form.js
78.04% <100%> (-21.96%)
:arrow_down:

packages/microcosm/src/action.js
100% <100%> (ø)
:arrow_up:

packages/microcosm-preact/src/action-button.js
100% <100%> (ø)
:arrow_up:

packages/microcosm/src/addons/indexing.js
92.68% <0%> (-7.32%)
:arrow_down:

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 700734c...6fdf63f. Read the comment docs.


Reuse me stats for lookahead

This partially addresses the comments in #2934 by removing the
unnecessary field coded_data.lookahead_me_stats. This data is never
modified between the time it is created in
compute_lookahead_motion_vectors and the time it is used in
compute_block_importances, so there is no need to keep a separate copy
of it. Instead, we can use the main copy of the data in
fs.frame_me_stats.
Results in ~1% peak memory usage reduction.

Does it fix the broken invariant?


Fix: Remove key codes from _pressedKeys Set after keyboard.up() is called

This is a one line change to resolve an issue where once a key has been utilized in keyboard.down(), the repeat property on keydown events using the same key will always be set to true. See https://github.com/GoogleChrome/puppeteer/issues/1901 for full details.
keyboard.down() and keyboard.up() both use the _pressedKeys Set, however keyboard.down() adds and searches for the key code, whereas keyboard.up() attempts to delete based on the key rather than the key code.

@aslushnikov test has been added. Please let me know if you need anything specific for the test. Thanks for the awesome library.


Update some modules to JUnit 5 [ECR-642]

Overview
Update all modules except ejb-core and proofs to JUnit 5.

See: https://jira.bf.local/browse/ECR-642
Definition of Done

[x] There are no TODOs left in the code
[x] Change is covered by automated tests
[x] The coding guidelines are followed
[x] Public API has Javadoc
[x] Method preconditions are checked and documented in the Javadoc of the method
[x] The continuous integration build passes

well done


RN-261 Fix app crashing when badge is unmounted before it displays

Ticket Link
https://mattermost.atlassian.net/browse/RN-261

It does not cause a loop


Add support for local spans in tracing

This adds baseplate support for tracing local in-request spans. It adheres to the "spec" outlined in the following:
https://github.com/openzipkin/zipkin/issues/808
https://github.com/openzipkin/zipkin/pull/821
This interface is intended to be able to generate local spans in various contexts from the main server span. The differences in serialization, use case, and explicit annotations (or lack thereof) were enough for me to lean towards making a new observer and API to specifically handle local spans. This allows us the freedom to customize Baseplate local spans as we see fit moving forward, e.g. force all local spans to carry certain tags, etc.

:eyeglasses: @spladug @bsimpson63

General question: why treat local spans as a completely different thing altogether? the difference is in annotations only, right? should client spans made inside a local span be children of the local span? Should graphite metrics etc. apply to the spans too (via the regular span infrastructure)?
:nail_care: for discussion

why treat local spans as a completely different thing altogether? the difference is in annotations only, right?

Along with the lack of server/client-specific annotations (cs, cr, ss, sr), the local span binary annotation with component and operation names need to be added directly. There's also a slight metadata difference with the duration being calculated and passed (Zipkin would use the timestamps of the CS/CR/SS/SR annotations to do that server-side for the other span types). There were enough serialization and use-case differences that I felt making a separate observer would be more simple and extensible than pushing that differentiation into the Span object itself. Having all of the local span logic isolated in the custom observer means that if there's future differentiation and customization of local spans vs. other span types it'll be more straightforward to add in.

should client spans made inside a local span be children of the local span?
Yes they should for purposes of modeling and visualization. I can't say for sure, but https://github.com/openzipkin/brave/pull/114 is leading me to believe weird things will happen if we have client spans in local ones without explicitly setting the local span as the parent of the client span. I had only considered local spans as being used for non-client-call blocks of code, but this case should be supported. This means we'll need to do a bit more work to support this entirely (local spans without client requests inside them will be fine as things are right now) since server spans are used directly to make child spans in Baseplate contexts. Initial thoughts are that we'd need to allow all Span objects, not just ServerSpans, to make child spans, and then pass along the notion of being in a local span as opposed to just the server span to contexts without breaking the API too badly.

Should  graphite metrics etc. apply to the spans too (via the regular span infrastructure)?

Not sure what you mean by this, could you provide an example?

:haircut:

🐟 lgtm

Having all of the local span logic isolated in the custom observer means that if there's future differentiation and customization of local spans vs. other span types it'll be more straightforward to add in.

Yeah, that makes sense here. It ends up making sense in the metrics case (below) too since we'd likely want those in a separate timer namespace (not clients). :+1:

Initial thoughts are that we'd need to allow all Span objects, not just ServerSpans, to make child spans, and then pass along the notion of being in a local span as opposed to just the server span to contexts without breaking the API too badly.

Yup. Agreed. Before having local spans, there was no reason to have multi-level span ancestry in the same service since all spans were considered remote. But if we have local spans, it seems like we should allow for nesting; if you don't want to do this right now we can punt it and make it happen during the near-future structural improvements push.

Should graphite metrics etc. apply to the spans too (via the regular span infrastructure)?

Not sure what you mean by this, could you provide an example?

Right now, anything wrapped in a span gets a timer metric sent to graphite automatically via the MetricsObserver stuff. It'd be nice to have the metrics observer support this new span type so we get automatic timers for local spans as well.
:nail_care: to continue discussion. feel free to tell me you want to move ahead like this since I think we'd only be making additive changes to the public API.

Thanks for the feedback and explanations - I think it's straightforward to get everything in, and I'd rather the next Baseplate release have all of that functionality included. To be continued...

"I think it's straightforward to get everything in" one month later....
Major changes for local spans:

The base Span class can now create local and child spans. I didn't explicitly subclass anything but might add some attributes to signal if a span is a local or child span so that it's explicitly not possible to create a local span from a child span. Open to thoughts here.

Spans now require as an argument and track the context in which they were created. This is mainly to simplify the make_local_span call and not require the caller to pass in the context at creation.

Request contexts are wrapped in the Pyramid + Thrift integration level OR at the server span creation level into a WrappedRequestContext object (in cases where full integrations aren't used, like r2) which proxies to the underlying wrapped request context and has the ability to copy itself. The copying is necessary for when we want to attach new local-span-aware clients to a context for use within the span, but want to preserve the outside-of-the-span context elsewhere. Open q: Is it worth doing the request context wrapping in the framework integration code or just have it in the server span creation part and make it known that the context returned from a make_local_span request is a wrapped version of the "native" context object?

The  ContextFactory class handles local span creation events by attaching a new span-aware client to the provided context, which should be a copy of the outer WrappedRequestContext object.

Local-span-aware context objects are returned as part of the make_local_span call; code within the local span will need to enforce using that context.

This is a lot of surgery, more testing is needed. Also I might have missed a simpler way to handle all this, open to any and all suggestions!

:haircut: opening this up for initial feedback as I continue testing.

Updates for this revision pass:

Spans are more hierarchically organized, Base Span -> Local Span -> Server Span:
-> Base Spans represent outgoing request wrapping; the Span class cannot create either child base spans or local spans.
-> LocalSpans are for local sets of operations within the server request handling pipeline and can create both child base spans (for outgoing requests) or local spans (for sub-division of operations).
-> ServerSpans wrap an entire request handled by the server and can create both child base spans and local spans

Having ServerSpan subclass LocalSpan seemed a bit weird, but I didn't want to overcomplicate the hierarchy and logically it technically works -> the server span can be seen as a top level local span for the server. In the future this might need to be split out a bit more but I'm okay with this.

make_local has been consolidated with make_child with the addition of some flags to specify whether or not a local span is needed. I think this is a better abstraction moving forward as it communicates that the span being created is always a child of the span make_child is invoked on.

Context wrapping has been cleaned up -> contexts are wrapped initially in the server span and passed on from there to children. Attribute setting of the core context object is also propagated.

Context object factories still need some variable renaming; server_span doesn't apply to most of the make_object_for_context calls since local spans might also be passed in.

:haircut:
tests/comments are needed, would appreciate feedback on changes as that's happening!

:haircut: getting there!


Fix Issue 22704 - Linker error when running the public unittests

Documented unittests should not depend on symbols hidden behind version(StdUnittest) because:

users will see exmples containing functions that do not appear in the documentation (for example: Ctrl-f ceqrel on https://dlang.org/phobos/std_complex.html)
this may cause linker failures for template instances because the module where the documented unittests are extracted is compiled with -version(StdUnittest) whereas phobos is not.

The fix is to compile the module where the documented unittests are extracted without -version(StdUnittest). This makes sure that hidden symbols will not make it to the public user interface and also get rid of the linker errors.
cc @MoonlightSentinel @kinke

Could those tests use isClose instead? Another option to consider would be exporting cequrel as the complex counterpart to the already available fequrel?
Shouldn't block this PR but those tests seem rather complex for public examples.

Rebased s.t. it uses the new Azure configuration (MODEL: 32omf)


X3DH in libolm

Hey!
I'm sorry if this issue is out of the story a bit but I got really confused about how things work in the olm library.
I want to implement X3DH + double ratchet using the olm library. Now, I followed the linked docs: this and from there I got to this one about X3DH. I think I more or less understand how things work, but I have a hard time connecting all those parts with what's in the olm codebase.
The first thing is integration with X3DH - How to do this exactly? First, I saw that here the shared secret key is calculated using triple DH:

// Calculate the shared secret S via triple DH

Is triple DH something else than extended triple DH(X3DH)?
The reason it's confusing is that in the docs you have something like this:

Bob publishes a set of elliptic curve public keys to the server, containing:

Bob's identity key IKB
Bob's signed prekey SPKB
Bob's prekey signature Sig(IKB, Encode(SPKB))
A set of Bob's one-time prekeys (OPKB1, OPKB2, OPKB3, ...)

At the same time to successfully create sessions in olm, you only need identity keys and one-time keys(inbound, outbound). In the docs, it's said that you also need a signed prekey, a signature, and also that one-time keys are optional. I also understood from the code that after establishing sessions successfully you can just exchange messages and it works ok with the double ratchet, is that correct?
Am I missing anything? Do I have to implement x3dh on my own using some specific functions from the olm library or is it handled on a high level? What's a proper way of doing this?
Thanks in advance and sorry if this turns out silly, peace!

Is triple DH something else than extended triple DH(X3DH)?

It is, it differs slightly. The 3DH implementation used in libolm uses only IKB and OPKB mentioned in the Signal docs. The one-time key (OPKB) can be signed or not, depends on what clients want to do, the identity keys (IKB) are signed.

I also understood from the code that after establishing sessions successfully you can just exchange messages and it works ok with the double ratchet, is that correct?

Yes, once a Session is established the two ratchets are incremented inside the Session object.

Am I missing anything? Do I have to implement x3dh on my own using some specific functions from the olm library or is it handled on a high level? What's a proper way of doing this?

If you want x3dh you'll have to modify the source of libolm, it doesn't support picking a different implementation or providing an external shared secret to establish the Session.
Hope this helps somewhat.

Thanks for the reply ❤
Is there any doc describing 3DH maybe similar to this one so I could have an exact comparison of what are the differences? I haven't found any :(
Also what I'm interested in in the first place is whether 3DH provides forward secrecy. Do you happen to know that? Still, a detailed doc would be very helpful, thanks!

Thanks for the reply heart
Is there any doc describing 3DH maybe similar to this one so I could have an exact comparison of what are the differences? I haven't found any :(

The docs can be found on the Gitlab, the 3DH setup is described here, albeit a bit briefly.

Also what I'm interested in in the first place is whether 3DH provides forward secrecy. Do you happen to know that? Still, a detailed doc would be very helpful, thanks!

It does, the usage of the one-time key in the 3DH step ensures forward secrecy.

thanks for the info! You helped a lot 🙌


Add task to create a comment on a GitHub issue

id: myflow
namespace: company.myteam

tasks:
  - id: hello
    type: io.kestra.plugin.github.issues.CreateComment
    token: your_github_token
    repository: kestra-io/kestra
    issueNumber: 1234
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"

Done in https://github.com/kestra-io/plugin-github/pull/7


TypeError: _postmanSdk.Builder.collection is not a constructor

I am trying to use the Builder and I am encountered with the following error after trying to follow the README
TypeError: _postmanSdk.Builder.collection is not a constructor
import { Collections, Environments, User, Builder } from 'postman-sdk';

const builderCollection = new Builder.collection('Nexus Messages', '0.0.1');

The same thing happens when trying to set up an environment.
const builderEnv = new Builder.environment('Development');
builderEnv.add('Variable1', 'Value1');
builderEnv.add('Variable2', 'Value2');

TypeError: _postmanSdk.Builder.environment is not a constructor
I have babel installed to make use of the imports in my app.js file

Hey @dustin-lennon !
So my readme was wrong, the SDK uses basically arrow functions which are not constructors, in your example just remove the "new" keyword and it should work.
I've also updated the sdk to version 1.2.5 with a couple of bug fixes, please do update your local version.
process.env.POSTMAN_API_KEY = 'aisdhbaisdhiasdasd'

const {Builder} = require('postman-sdk')

const Collection = Builder.collection('My test collection')
const Environment = Builder.environment('My test environment')

Collection.item.add('/test-endpoint', 'POST')
Collection.item.addFolder('Test Folder')
Collection.item.addToFolder('Test Folder', '/test-endpoint-2', 'GET')
Collection.item.addToFolder('Test Folder', '/test-endpoint-3', 'GET')

Environment.add({
    key: 'test',
    value: 'test value',
    type: 'string',
    enabled: true
})

console.log('COLLECTION', Collection.collection)
console.log('ENVIRONMENT', Environment.environment)

I've added this same example to the readme.
Let me know how it goes for you.

I saw your example. I have encountered a different issue now.
import { Collections, Environments, User, Builder } from 'postman-sdk';

const pBuilder = Builder.collection('Nexus Messages', '1.0.0');

// Create Folders for collection
pBuilder.item.addFolder('Development');
pBuilder.item.addFolder('Preproduction');
pBuilder.item.addFolder('Production');

console.log('Collection: ', pBuilder.collection);

Collections.post(pBuilder.collection)
  .then(res => {
    console.log('res: ', res)
  });

The output of the console.log on the post is:
res:  { error:
   { name: 'paramMissingError',
     message: 'Parameter is missing in the request.',
     details: { param: 'collection' } } }

Next question I do have since I do not see anything in the SDK for this is add pre-request scripts to the collection builder

Hey Dustin, I've updated the sdk to version 1.3.0, following your question about the pre-request scripts I've added support to them in the sdk now.
The problem there was that in my last example I was passing pBuilder.collection when I should just pass pBuilder to the Collections.post function.
Please try the example below, I tested it and it should work just fine for you now with scripts:
const {Builder, Collections, Environments} = require('postman-sdk')

// Build a collection and environment
const myCollection = Builder.collection('My test collection', '1.0.0')
const myEnvironment = Builder.environment('My test environment')

// Add request endpoints to a collection
myCollection.item.add('/test-endpoint', 'POST')

// Add folders to a collection
myCollection.item.addFolder('Test Folder')

// Add items to collection folders
myCollection.item.addToFolder('Test Folder', '/test-endpoint-2', 'GET')
myCollection.item.addToFolder('Test Folder', '/test-endpoint-3', 'GET')

// Add event scripts to a collection
myCollection.event.add({
    name: 'test-event',
    listen: 'prerequest',
    disabled: false,
    type: 'text/javascript',
    exec: ['test script']
})

// Add environment variables
myEnvironment.add({
    key: 'test',
    value: 'test value',
    type: 'string',
    enabled: true
})

// Post the results to Postman Cloud and access from your Postman app
Collections.post(myCollection).then((response) => {
    console.log(response)
})

Environments.post(myEnvironment).then((response) => {
    console.log(response)
})

Trying to figure out how to accomplish a nested folder structure such as
|-Development
|  |-Folder 1
|  |  |-POST item
|  |-Folder 2
|  |  |-POST item
|-Production
|  |-Folder 1
|  |  |-POST item
|  |-Folder 2
|  |  |-POST item

I've not been able to figure out how to accomplish this.  Looking at the collection.item.addToFolder, I see that the first parameter is an array and the second is a boolean of if it is a folder. How is that array constructed?

Ok, this has been a long time, will leave it here in case others have the same question. Take a look at the example I've built here:
https://github.com/layoutzweb/postman-sdk/blob/master/examples/example.js
It shows exatly how to deal with multiple environments.
Sorry for the immense delay!

Since this is super old and I believe the SDK is ready to deal with this scenario, I will be closing this ticket, please feel free to re-open if you still have an issue. Cheers!


net::ERR_BLOCKED_BY_CLIENT errors is Chromium and Canary

I started to see issues in Chromium and now in Canary:

WebDriver Bidi command "browsingContext.navigate" failed with error: unknown error - net::ERR_BLOCKED_BY_CLIENT

Chrome version used: v132.0.6824.0
The Bidi command used:
browsingContext.navigate {"context":"0AEB79806DB013EF2C4E6A601F2DA7E3","url":"http://guinea-pig.webdriver.io/","wait":"complete"}

Any information if this is a bug in Chrome or something related to how WebdriverIO uses the protocol?

I could not reproduce with Puppeteer. But I think usually BLOCKED_BY_CLIENT is related to some ad blockers etc.

I was able to reproduce it with the following code:
import { remote } from 'webdriverio'

const browser = await remote({
    capabilities: {
        browserName: 'chrome',
        browserVersion: 'stable'
    }
})

await browser.url('http://guinea-pig.webdriver.io')
await browser.pause(2000)
await browser.deleteSession()

It seems the problem here is that the page is http which results in a failure of opening the page:

This seems to start happening in Chrome with Canary.

Got, filed https://crbug.com/378022921. Can be disabled by disabling HttpsFirstBalancedModeAutoEnable. Let's follow on the upstream issue.


Mario/value api

Haven't looked at the code too much but #344, we need to figure out whether these assumptions are correct or not.

So uhh, are we going with the normalized assumptions for Plutarch 1.2?
At this point, I'm honestly ok with going without that assumption and sacrificing a bit of performance for consistency and ease of Plutarch 1.2 rollout.
Anyway, I'd like to benchmark these a bit - I'll do that as soon as I can. They look quite neat though.

From the IOHK answers it seems that we shouldn't count on any normalization, but I'll expand on this thought in issue #344. I have a few notes regarding the benchmarks.
First, I'm quite confident this implementation is far better than what Plutus.V1.Ledger.Value provides. Leaving aside the general horror of any code generated by plutus-tx-plugin, the algorithms in the Plutus module tend to generate intermediate data structures.
Second, the question of optimality is unfortunately a matter of tradeoffs to some extent. For example, commit https://github.com/Plutonomicon/plutarch/pull/396/commits/e7639104b113384b1a7d334c7652f1f9c6971846 slightly increased the cost of both insert and delete, but because it made them share most of their code any script that uses both will now see the total code size decrease.
Third, I've intentionally left a couple of minor optimizations on the floor. For example I added AssocMap.mapEitherWithKey :: Term (s :: S) ((k :--> a :--> PEither b c) :--> PMap k a :--> PPair (PMap k b) (PMap k c)) because there's a function of the same name and function in Data.Map, its signature makes it clear what it does, and because I needed it to implement unionWith. The optimal helper function would actually be AssocMap.mapMaybeWithKey :: Term (s :: S) ((k :--> a :--> PMaybe b) :--> PMap k a :--> PPair (PMap k a) (PMap k b)) but it's less general, there's no equivalent in Data.Map, and the optimization would be really minor.

Either we assume sortedness or enforce it.

PUnsortedValue, PValue, ptryFrom

I think the direction this is going towards is that we should enforce normalisation and make a CIP for enforcing it.

https://github.com/input-output-hk/plutus/issues/4509#issuecomment-1093472123

Note that this PR depends on PR #453.

The current state of the PR is that PMap and PValue are kept sorted by all operations. All insertions, merges, and equality comparisons make use of this, but lookups don't. There are functions AssocMap.assertSorted and Value.assertSorted to make sure the inputs are already sorted and normalized, and also Value.normalize that takes a sorted value potentially containing zeroes or empty submaps and removes them. The latter is to provide a way to clean up after relatively rare operations like Value.unionWith # (plam (-)) that may produce a non-normalized PValue.

Do you think it's a good idea to bake in the normalization check inside unionWith so that its output is never not normalized? Effectively by checking the union result before cons-ing it on.
Also, should pnormalize also sort?

Term n PValue should always be normalised. You can add PBadValue if you want to have unnormalised values.

@TotallyNotChase

Do you think it's a good idea to bake in the normalization check inside unionWith so that its output is never not normalized?

No, because it would be a waste most of the time. There's no need to check after unionWith (plam const) or unionWith (plam +)) for example.

Also, should pnormalize also sort?

None of the operations, including unionWith, is ever going to un-sort a value. The present design is to apply assertSorted  once to the input values, then to manipulate them using the provided operations using normalize only when necessary.
@L-as

Term s PValue should always be normalised. You can add PBadValue if you want to have unnormalised values.

I don't want to replicate every operation to operate on PBadValues.

I don't think there's any point in parameterising PValue since we don't have any functions that can operate on any PValue x.

assertSorted operates on any PValue x,  Semigroup and Monoid operate on any Sorted value,  #== has two different instances for Sorted Normalized and Sorted NotNormalized.

What do you mean by Sorted Unnormalised?
It's for values with sorted keys that may contain zero amounts or empty submaps. Such as returned by unionWith # (plam (-)).

Yesterday's API was simpler, but less safe. That's when it was possible to forget to normalize after a unionWith, today's API prevents that.
To p or not to p, that is the question. I don't mind if that's the consensus.

The plot thickens. I realized I didn't account for values with negative amounts, which are legal in Plutus AFAIU. The Semigroup instance thus can't assume that zeroes won't appear in the result. So I introduced the Positive subtype, and I separated ValueKeyGuarantees = Unsorted | Sorted from ValueAmountGuarantees = NoGuarantees | NonZero | Positive as two orthogonal PValue parameters which seems clearer.
I've also added pconstantSingleton and pconstantPositiveSingleton because they can cheaply inspect the amount on the Haskell side and generate an optimal term of the right type. I'm not sure if they should be taking ClosedTerm PInteger like now or just Integer, I'd appreciate some feedback there.

I think we should just introduce a check for "zero"-ness for each unionWith resultant element at this point, that'd trivialize the API at the cost of some efficiency.
I wonder how that'd compare to just not assuming sortedness/normalization in unionWith

Maybe you want to rebase and clean up the history BTW?

See also #465

I've cleaned up all the small stuff. What's left:

[ ] synonym type PValue = PValue' 'Sorted 'Positive;
[ ] a new module Plutarch.Api.V1.Value.Simple (?) that's less performant but makes all values 'Sorted 'NonZero all the time and gets rid of type parameters;
[ ] PSubtype instances would seem to require changes to TryFrom; and
[ ] more instances (like Group) and utility functions.

The first two kinda solve the same problem of type-level noise in two different ways, so I don't know if I'd do both.

Should we just assume ScriptContext and related are correct?

Should we just assume ScriptContext and related are correct?

I thought we already assumed (and verified, sort of) that? Otherwise, there's not much point in caring about sortedness/normalization.

I mean, when the user crafts them manually.


Convert CGPoint to ESTPoint

Hi, guys, could someone tell me, is it possible to convert simple CGPoint to ESTPoint? For example, I have ESTPoint (2.5, 2.5), and for my instance of ESTIndoorLocationView it is the center of location (if its size is 5m X 5m). Also I have another object on screen but with coordinates relative to whole device's screen (self.view), for example, with CGPoint (170, 200). How can I translate point in context of screen to point in context of my location?

Yup. ESTIndoorLocationView has exactly those methods that you are looking for.
See docs. Take a look at methods:

calculatePictureCoordinateForRealX
calculatePictureCoordinateForRealY

Thanks, haven't found this method right away, but I've asked about translation in another direction, from screen point (for example (170, 200)) to 'location' point in meters (for example (1m, 2m)). Does SDK has such method?

@sashakid In the latest SDK we heavily upgraded ESTIndoorLocationView and supported methods you were looking for (see docs)

calculateRealCoordinateForPictureX:
calculateRealCoordinateForPictureY:
calculateRealPointFromPicturePoint:


Apache build missing mod_authn_file.so

Soon as I try to use the 7.0-apache, 7.1-apache, 7.2-apache
the output complains about a missing library:
httpd: Syntax error on line 76 of /etc/apache2/httpd.conf: Cannot load modules/mod_authn_file.so into server: Error loading shared library /var/www/modules/mod_authn_file.so: No such file or directory

It seems it's an issue in the apline package itself, I try to build with 3.4 to see it's exists there or not.

The apache2 package is broken in apline, it was pushed about 4 hours ago and it seems missing that module.

@adaliszk, can you provide more details on that issue? Where did you find out that the package is broken?

I installed a bare alpine and apache and the problem is the same there.
FROM alpine:3.6
RUN apk add --no-cache apache2
CMD ["/usr/sbin/httpd"," -D FOREGROUND"]

The sad part that I couldn't find earlier versions of the package so I cannot just replace with a working one. Interesting that more than 11days ago it was broken and yesterady was still :/
I will make some experiments during afternoon today, maybe in the edge version it's not broken somehow. I've tried to comment out the missing module includes but after 5th comment I gave up, since it's a bigger problem than just one module.

Seems like you're not alone! Check out this Dockerfile. I haven't tried it yet, but it addresses the same problem, so we're not crazy!
https://hub.docker.com/r/craigmcmahon/apache-php/~/dockerfile/

I'm suprised that it's not solved yet, a lot of companies should use apline with apache so a lot of feedback should be about that, that's why I haven't tried to send a bugreport yet. (I think there are more capable peoples out there to fill out that)

Hi,
sed -i 's/ServerRoot \/var\/www/ServerRoot \/usr\/local\/apache/g' /etc/apache2/httpd.conf

Checking this out soon...

Hello, Apache in Alpine seems to be working ok. But there was an issue with how the PHP.earth php7.1-alpine package was built... Now this should be working ok.
Make sure to use the latest stable Alpine version (at the time of this writing it is Alpine 3.6). PHP.earth packages don't support Alpine 3.5 and lower versions.
So, to start using Apache with these images:
docker run -it -p 80:80 phpearth/php:7.1-apache

More proper docs are on its way also...
Thanks for reporting issues.

@petk Thank you! It seems now it's working with a bare alpine+apache as well,


Hello, john, could you please update the appCode injection plugin?

I found appCode is much more better than the Xcode, but I am familiar with injection in Xcode.
when I install the injection plugin for appCode, I found it not work any longer.
Could you please update it to the latest version as Xcode version ?
Thanks.

AppCode no longer works or you an’t get the injection plugin for AppCode to work?

yes, I can’t get the injection plugin for AppCode to work?

Are you seeing the extra menu items on the “Run” menu? Are you sure you installed the jar file?

I always get the error message 'Injection Plugin - Application not running/connected' after I lunch the app in debug mode and select Run -> 'Inject code'.
AppCode 2016.2, plugin installed from the jar in the repo. With XCode 7.3.1 it works perfectly.

Have you repatched the project. AppCode requires patching and uses a different port number.

Yes, my main.m file ends like this
#ifdef DEBUG
#define INJECTION_PORT 31444 // AppCode
static char _inMainFilePath[] = __FILE__;
static const char *_inIPAddresses[] = {"<IP_ADDRESS>", 0};

#define INJECTION_ENABLED
#import "/Users/<my_username>/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources//BundleInjection.h"
#endif

Is this in the simulator or from a device? Is <IP_ADDRESS> your IP address, is AppCode allowed to received connections via the firewall? Can you telnet to <IP_ADDRESS>, port 31444 from another host?

Simulator. Yes from another Mac from the same network, I was able to connect to my ip and port with telnet.

Very strange are you seeing messages on your console that injection is trying to connect? If not, are you sure DEBUG is defined in your project?

Does the AppCode plugin really work with Swift? It says "Select text in an implementation file to inject" when I try to inject code.

It should do:
        else if ( selectedFile == null || !Pattern.matches( ".+\\.(m|mm|swift)$", selectedFile ) )
            return alert( "Select text in an implementation file to inject..." );

Do you have the most recent Injection.jar file installed

I installed the plugin from within AppCode, maybe there's an old version there. It says version 3.5

Chaeck you have the latest Injection.jar installed. You can get it from here: https://github.com/johnno1962/injectionforxcode/tree/master/InjectionPluginAppCode

I’ve updated it, can you verify it for me please?


Add facilities for scheduled debates & tracking statistics

We want to create a smooth process for running debates each week. This means the following:

[x] Keep track of the users (debaters etc.) on the server.
[x] Add facilities for setting up debates (with source material, etc.) where users are assigned particular roles.
[x] Make it so when a user enters such a debate, their role is fixed.

This is the most impactful thing to get done soon so we can start storing the results of our debates.
Creating a separate issue for the leaderboard.

Closed as of here.


fix: keep original input formatting when returning

Fix #155
Keep the original input case formatting when returning result
When sending ['a.eth', 'A.ETH'], will return result like
{
'a.eth': '0x0',
'A.ETH': '0x0'
}

-> return a value for each original input, to avoid any processing from the caller side, even if the address os the same. This is done only after getting result from api and caching, so we don't pass a.eth and A.ETH to api.
Test
curl -X POST http://localhost:3008/ -H "Content-Type: application/json" -d '{"method": "resolve_names", "params": ["snapshot.crypto", "SNAPSHOT.CRYPTO"] }'

// result
{"jsonrpc":"2.0","result":{"snapshot.crypto":"0xeF8305E140ac520225DAf050e2f71d5fBcC543e7","SNAPSHOT.CRYPTO":"0xeF8305E140ac520225DAf050e2f71d5fBcC543e7"},"id":null}

curl -X POST http://localhost:3008/ -H "Content-Type: application/json" -d '{"method": "lookup_addresses", "params": ["0xeF8305E140ac520225DAf050e2f71d5fBcC543e7", "0xEF8305E140AC520225DAF050E2F71D5FBCC543E7"] }'

// result
{"jsonrpc":"2.0","result":{"0xeF8305E140ac520225DAf050e2f71d5fBcC543e7":"fabien.eth","0xEF8305E140AC520225DAF050E2F71D5FBCC543E7":"fabien.eth"},"id":null}

Sorry for delay on this,
It works well with names but not with addresses, try
{
    "method": "lookup_addresses",
    "params": [
        "0xeF8305E140ac520225DAf050e2f71d5fBcC543e7",
        "0xEF8305E140AC520225DAF050E2F71D5FBCC543e7"
    ]
}

then
{
    "method": "lookup_addresses",
    "params": [
        "0xEF8305E140AC520225DAF050E2F71D5FBCC543e7"
    ]
}

Second will not return any response, this is fine?

No, this is not fine

0xEF8305E140AC520225DAF050E2F71D5FBCC543e7

I don't get same result:
curl -X POST http://localhost:3008/ -H "Content-Type: application/json" -d '{"method": "lookup_addresses", "params": ["0xeF8305E140ac520225DAf050e2f71d5fBcC543e7", "0xEF8305E140AC520225DAF050E2F71D5FBCC543e7"] }'

{"jsonrpc":"2.0","result":{"0xeF8305E140ac520225DAf050e2f71d5fBcC543e7":"fabien.eth","0xEF8305E140AC520225DAF050E2F71D5FBCC543e7":"fabien.eth"},"id":null}

Sorry for delay on this,
It works well with names but not with addresses, try
{
    "method": "lookup_addresses",
    "params": [
        "0xeF8305E140ac520225DAf050e2f71d5fBcC543e7",
        "0xEF8305E140AC520225DAF050E2F71D5FBCC543e7"
    ]
}

then
{
    "method": "lookup_addresses",
    "params": [
        "0xEF8305E140AC520225DAF050E2F71D5FBCC543e7"
    ]
}

Second will not return any response, this is fine?

No, this is not fine

Should be fixed, please retest


⚠ Adacta-fintech.com has degraded performance

In 0cc2d0b, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 1238 ms

Resolved: Adacta-fintech.com performance has improved in f82eadf after 7 minutes.


Bug matInput

Bug, feature request, or proposal:
Bug
What is the expected behavior?
when it focused don't unfocus
What is the current behavior?
when i touch the mat input it focuses first. But then immediately focus will unfocuses. Here is a gif
https://i.hizliresim.com/nlv4na.gif
It happens only in android device.
What are the steps to reproduce?
sorry it is a project and i cant upload;
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
@angular/material                 6.4.7
Is there anything else we should know?
please help it's important

It looks like the link you provided is not accessible.  Additionally, it is unlikely that we will be able to determine the cause of this from a gif based on the description you provided.  Without being able to make a reproduction of the issue we aren't able to verify if we are able to make a fix to the code.
Can you provide a reproduction in StackBlitz.  This will help us to investigate the issue you are seeing.

Sorry for image link
i upload 4 different service
https://ibb.co/mD71kA
https://pasteboard.co/HM6RDlC.gif
https://photoland.io/i/2ZGEWT
https://www.imageupload.co.uk/image/TgL9
i hope you can open one of them

Closing for lack of reproduction


Spawn threads to stop tasks during the onAssignmentChange() code path  in AbstractKafkaConnector

Currently in onAssignmentChange(), we mark removed tasks for shutdown and then let them stop naturally. This can lead to situations where the task is taking too long or stuck indefinitely (e.g. producer.flush() can get stuck). Such tasks are problematic. Instead, we should try to force stop these tasks. onAssignmentChange() is not expected to block for long by the Coordinator, due to which a separate thread should be spawned to deal with stopping tasks.

Currently in onAssignmentChange(), we mark removed tasks for shutdown and then let them stop naturally. This can lead to situations where the task is taking too long or stuck indefinitely (e.g. producer.flush() can get stuck). Such tasks are problematic. Instead, we should try to force stop these tasks. onAssignmentChange() is not expected to block for long by the Coordinator, due to which a separate thread should be spawned to deal with stopping tasks.


Angular Support?

Do you have any plans to make a similar version for nativescript-angular? I really like the idea of bootstrapping it at the main/app level instead of in every module and submodule like nativescript-ngx-fonticon
Thanks!

@ScottMGerstl  i have a busy month but yes i will add angular support soon

Do you still have this on your radar?

@ScottMGerstl @yalva no not now in iOS not working need a lot of work  just use fonticon for now


Changing 1-to-M behaviour of on_disk_cache.

TLDR: If filename_fn of on_disk_cache ( filename_fn'1 ) generates different name from filename_fn of end_caching, it is considered 1 to many situation. In this case additional listing file would be created at filename_fn'1 position and it will be used to check cache consistency between runs.
BC breaking, on_disk_cache no longer accept generators as filename_fn
Stack from ghstack (oldest at bottom):

-> #810

@VitalyFedyunin has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@VitalyFedyunin has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@VitalyFedyunin has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.


Fix Html in markdown

This PR ensures that all HTML tags which are not meant to be interpreted as such are surrounded by backticks. Moreover, it changes links to markdown syntax wherever possible.

As discussed with @almeidap, I'm merging this PR myself.


Fuzzy Searching for Usernames

It'd be nice to support fuzzy matching user names to support easier searching for @-mentions, collaborators and people to receive data emails.
The similarity function in postgresql and a trigram index is probably the best way to go about this.

Actually this is more urgent since I think I'm using the wrong sort of index anyway.

Are we using left anchored matches? If so it looks like we can use a like operator and a btree index.

We need them to be case-insentive and 'ILIKE' only works with a btree index is the left anchored portion is only made of characters without cases like digits and punctuation. See the doc I think the third or fourth paragraph.

Can we use left anchored LIKE on the identity_group#name field? We downcase that from the display_name before user_group validation.

Also wanted to say I don't really mind what the implementation of this is, just thinking through the options.


sway: 1.2 -> 1.4, wlroots: 0.8.1 -> 0.10.0

Motivation for this change
Ready for final testing :)
On my setup I've successfully tested sway, swayidle, swaylock, and cage.
nix-review:
8 package were build:
cage sway sway-unwrapped swayidle swaylock swaylock-fancy waybar wlroots

TODOs:

[x] Testing (also e.g. waybar and cage)
[x] Squash the RC commits before merging
[x] The default terminal was replaced with Alacritty (needs to be reflected in the module, we probably have to keep urxvt for backwards compatibility)
[x] Check compatibility with wayfire (https://github.com/NixOS/nixpkgs/pull/76759)

Doesn't build with wlroots 0.9.1 yet

[x] Fix the cage build / request a new upstream release:builder for '/nix/store/2az706idl7hd63yfhlvr66vsn6q75yp1-cage-0.1.1.drv' failed with exit code 1; last 10 log lines:
    wlr_data_device_manager_destroy(data_device_mgr);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    wlr_data_device_manager_create
  ../cage.c:385:2: error: implicit declaration of function 'wlr_compositor_destroy'; did you mean 'wlr_cursor_destroy'? [-Werror=implicit-function-declaration]
    wlr_compositor_destroy(compositor);
    ^~~~~~~~~~~~~~~~~~~~~~
    wlr_cursor_destroy
  cc1: all warnings being treated as errors
  [4/9] Compiling C object<EMAIL_ADDRESS>  ninja: build stopped: subcommand failed.

WIP: master is fine and I've requested a new release: https://github.com/Hjdskes/cage/issues/107
-> Will use master for now.

Will be done late in a separate PR:

[ ] Grimshot (should we ship the dependencies by default?)

Extra tools in contrib/ aren't installed by default but we could e.g. create an additional package like sway-contrib. (or sway-tools, sway-extras, etc.).

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Hello @primeos : I have tested the PR, and it seems to work properly as of 1.3-rc1. It works correctly (and it fixed some issues I had with sway previously).
I can confirm that waybar is working properly.

@primeos : Should we add grimshot like we've added swaybg in the wrapper ? Maybe add a flag specifically for enabling it ? Maybe we could add a flag also for swaybg, wdyt ?

Should we add grimshot like we've added swaybg in the wrapper ? Maybe add a flag specifically for enabling it ? Maybe we could add a flag also for swaybg, wdyt ?

I think we should add those by default for convenience. I originally added swaybg to the module after I was fairly confused why swaybg didn't work. In case of a too bloated closure size we could add e.g. a minimal flag (or a sway-minimal).

Now crashes with:
2020-01-09 18:01:29 - [EGL] command: eglInitialize, error: 0x3001, message: "DRI2: failed to add configs"
2020-01-09 18:01:29 - [EGL] command: eglInitialize, error: 0x3001, message: "eglInitialize"
2020-01-09 18:01:29 - [render/egl.c:190] Failed to initialize EGL
2020-01-09 18:01:29 - [EGL] command: eglMakeCurrent, error: 0x3008, message: "Invalid display (nil)"
2020-01-09 18:01:29 - [render/wlr_renderer.c:221] Could not initialize EGL
2020-01-09 18:01:29 - [backend/drm/renderer.c:40] Failed to create EGL/WLR renderer
2020-01-09 18:01:29 - [backend/drm/backend.c:203] Failed to initialize renderer
2020-01-09 18:01:29 - [backend/backend.c:198] Failed to open DRM device 9
2020-01-09 18:01:29 - [backend/backend.c:343] Failed to open any DRM device
2020-01-09 18:01:29 - [sway/server.c:47] Unable to create backend

For both 1.3-rc1 and 1.3-rc2. 1.2 works fine.

@Synthetica9 @Elyhaka @Ma27 huge thanks for testing this PR and providing feedback! :heart:
@Synthetica9 strange that both Sway release candidates do now crash :o Was that due to the second wlroots update from 0.9.0 to 0.9.1? On my setup Sway 1.3-rc2 still works fine.

@Synthetica9 strange that both Sway release candidates do now crash :o Was that due to the second wlroots update from 0.9.0 to 0.9.1? On my setup Sway 1.3-rc2 still works fine.

I think I may have incorrectly tested 1.3-rc1, running 1.2 when I thought I was running 1.3-rc1.

Filed an upstream issue: https://github.com/swaywm/sway/issues/4898

Still no issue on my side :

Could your issue be GPU-related @Synthetica9 ?

Could your issue be GPU-related @Synthetica9 ?

I suppose it could be, but I don't suspect it since I have an Intel IGPU laptop. How would I even diagnose that?

FYI: I've opened #87979 regarding the packaging of the tools in contrib/ (mainly Grimshot).
(Thought I'd also mention this here since we discussed it a bit and it was an optional TODO:)

Will be done later in a separate PR:

[ ] Grimshot (should we ship the dependencies by default?)

Extra tools in contrib/ aren't installed by default but we could e.g. create an additional package >     like sway-contrib. (or sway-tools, sway-extras, etc.).