Revert "IRGen: fix alignment for tail allocated arrays with elements which have a large alignment"

Reverts apple/swift#14652
Based on https://ci.swift.org/job/oss-swift-incremental-RA-linux-ubuntu-16_10/2703/, it seems like this might broken the stdlib/String.swift test on Linux.
What's curious is it passed PR testing, but two of my subsequent PR test attempts have failed in the same way. Perhaps this was a case of two commits landing at the same time, each passing individually but failing when combined?

@swift-ci Please smoke test

@eeckstein I'm doing a test run with this reverted to see if it fixes the CI failure (and PR testing failures).

I'll try to reproduce it locally

I couldn't reproduce it locally. Also it's very unlikely that my change would trigger this test failure

The test passed again in https://ci.swift.org/job/oss-swift-incremental-RA-linux-ubuntu-16_10/2705/
(but there is another failure afterwards)

Two failures have been blocking PR testing since this commit:
OS X Simulator:
[     FAIL ] NSStringAPIs/Substring.replacingCharacters(in:with:)
Linux:
[     FAIL ] StringTests.growth
The first CI failures was here:
https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RD_test-simulator/671/

The String failure on linux seems to be sporadically failing on CI, even though my PR testing is consistently failing.

Perhaps it this is related to test changes that @lancep made in https://github.com/apple/swift/pull/13877/commits/48018fbf214224e6e3b68806ad0dbeb57eca087f (around 5 builds before the first failure) which might have exposed a latent problem, or recent work by @milseman on Strings?

I think @lancep plans to revert and investigate the failures.

Closing with the expectation that https://github.com/apple/swift/pull/14657 will resolve the failure.


No description provided.

No description provided.

Originally posted by @veryMaker in https://github.com/toncenter/tonweb/issues/16#issuecomment-927275730

Please dont flood


[storage] Only update last reconciled if index >

Related: #187
As a result of using buffered channels in the reconciler, we need to protect against "out of date" updates to the last_reconciled information in storage.
Changes

[x] Only update last reconciled if index >
[x] Add block exists method to block_storage (enables block pruning before reconciliation)
[x] Change BlockExists to CanonicalBlock in reconciler

If Heimdall is stuck, please click the following link: https://heimdall-public.cbhq.net/v1/pull_request/stuck?pr_number=194&repository=coinbase/rosetta-sdk-go

Pull Request Test Coverage Report for Build 9150

15 of 19 (78.95%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.009%) to 78.309%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

storage/block_storage.go
8
12
66.67%

Totals

Change from base Build 9118:
-0.009%

Covered Lines:
6704

Relevant Lines:
8561

💛  - Coveralls


[k3s cluster UI] Error message displays on entering 0/negative value in concurrency field is not user friendly

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Import a k3s cluster.
Go to edit cluster
Enter 0 or negative value in server/worker concurrency field.
Click save

Result:
On clicking save button, request is sent to API and UI displays API error.

Expectation
UI should not send API request when there are invalid values filled in fields of edit cluster.
Error message should be more user friendly.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-2417-head- 01c482d5f

Tested on master-2428-head dc0a89013
Editing k3s cluster with 0 or negative values in concurrency shows error as Only non-negative and non-zero concurrency values are valid.


fix: caching intermediate contract states requires sortKey

When there are a lot deep interactions between the same contract the caching state mechanism freaks out.
The internal-nested-read.test.ts test fails on the current SDK version.
This problem occurs when multiple contract interactions deep inside callstack tree reach out for the same contract.
ContractInteractionState works fine if the callStack tree is not very deep, as it is cleared for every interaction.
But as soon as one of the interactions requires a lot of further reads (call depth > 3) and some of these reads gather data from the same contract, they read the same state, even for different sortKeys.
I tried to add sortKey validation for the ContractInteractionState, but with no success, at least not yet...


input dimensions order in JSMA tutorial

This tutorial is still using the TH ordering, would be nice to change it to TF

closed by #96


Multi arch images release broke the CI

I noticed CI started failing with this error:
  error: failed to solve: failed to get reader: content digest sha256:40e059520d199e1a1a259089077f2a0c879951c9a4540490bad3a0d7714c6ae7: not found

This seems to be related to the latest merge which published multi arch images.
We're either not consuming them correctly or not publishing them correctly (e.g. should have a default platform?).
For example, see https://github.com/submariner-io/shipyard/runs/5805414807?check_suite_focus=true

I’ve moved nettest:devel back to nettest:devel-8cbbe6c, the last non-multi-arch tag, and re-run the failed jobs to check.


Boats placed on water sometimes sink

Timings link
No response
Expected behavior
Boat should float on water after placing them
Observed/Actual behavior
In some cases (as seen in the video posted below) boats just sink
Steps/models to reproduce
Place a boat on water above Y: 65 or place it on tall seagrass
https://streamable.com/w8t9zw
Purpur version
[18:07:42] [Server thread/INFO]: This server is running Purpur version git-Purpur-1330 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 158ae61 on ver/1.17.1)
Agreements

[X] I am running the latest version of Purpur available from https://purpur.pl3x.net/downloads.
[X] I have searched for and ensured there isn't already an open issue regarding this.
[X] My version of Minecraft is supported by Purpur.

Other
Not using any plugins, default config

Upstream bug.
https://github.com/PaperMC/Paper/issues/6312

Turns out Tuinity fixed this the other day. We've pulled in that fix with build 1331
https://github.com/pl3xgaming/Purpur/commit/635d108ae267993505a12e393f2fa8756899ddde


Web client (compiling to WASM)

If you have a feature request or issue regarding web support and running the Ambient client in the browser, please post it here.

[ ] WebGpu in favor of WebGl when released
[ ] Enable the network stack to use web apis
[x] Abstract task spawning/runtime (tokio/js)
[x] Abstract time and sleep
[x] Asset downloading

So a potential blocker in the future might be WASM client modules (#6). We don't have that currently implemented, but when we do, we'll need to figure out a way to make that work in the web.
I've asked the Bytecode Alliance Zulip about this, and they've suggested a few things. The main takeaway I had is that we could potentially unpack WIT components and load them as WASM on the web. To call it from our host code, we could add another host generator to wit-bindgen that calls into the web WASM.
This seems like it might be a fair bit of an engineering headache, though, as we'll need to abstract all of the WASM-interfacing code so that it can be backed by wasmtime or by web WASM modules. I suspect that we're unlikely to ship clientside WASM on the web soon.

Webtransport support in our networking stack is on the way
See #381 for details

Thought I would give a condensed progress update on this issue as there has been some time, but also a great deal of movement forwards.
The port to the web is going along fantastically. Webtransport is fully operational, and we are now able to serve both Quinn(Quic) clients on native and webtransport clients on web.
The renderer mostly works except it has some issues with regards to our indirect renderer, which I am tackling now.
The big blocker which lies within arms reach is somehow running our client scripts on the web securely, and sandboxed, while also communicating with ambient runtime through our API. This is something I and @philpax will be tackling in a moment.
For native we are using wasmtime but doing so is not possible due to the low level machinery it uses such as jit compilation and function pointer passing which is just fundamentally not possible on the web.
Additionally, we will need to set up our server infrastructure certificates and appropriate portals to enable you, the users to access the hosted client and connect to running servers and Embers. This is part of @pierd's domain as well as the rest of our awesome team for setting up the website and portal.

So a potential blocker in the future might be WASM client modules (#6). We don't have that currently implemented, but when we do, we'll need to figure out a way to make that work in the web.
I've asked the Bytecode Alliance Zulip about this, and they've suggested a few things. The main takeaway I had is that we could potentially unpack WIT components and load them as WASM on the web. To call it from our host code, we could add another host generator to wit-bindgen that calls into the web WASM.
This seems like it might be a fair bit of an engineering headache, though, as we'll need to abstract all of the WASM-interfacing code so that it can be backed by wasmtime or by web WASM modules. I suspect that we're unlikely to ship clientside WASM on the web soon.
Edit: although this might be a problem we need to deal with sooner rather than later if we do loopback-servers-on-the-web and they need to run their own logic

Since the time of this comment the state and plan of Ambient has changed.
Our games (Embers) are now increasingly dependent on client side logic for input handling, animations, ui, audio et al. These things were either not available or like user input spoon-fed to the server scripts by the Ambient runtime, but is now up to the game creator to decide on how to handle and send inputs or "commands".
Supporting client side scripting is as such of higher priority and must be done before shipping, as frankly even all but one of our examples currently require client side code.


permission denied for large object during dump action

Hi! While trying out version 1.14 I've ran into a runtime issue while trying to dump a small table. I do have output for the run, but I imagine it's not complete because of the error. I may have missed some documentation but I was hoping if you could give me some guidance.
The error is: cannot make a backup error="data stage dumping error: at least one worker exited with error: error opening large object 75897: ERROR: permission denied for large object 75897 (SQLSTATE 42501)"
My used config is:
dump:
  pg_dump_options:
    dbname: "host=obfuscated-amazon-address user=postgres dbname=db_name"
    jobs: 10
    table: "tablename"
storage:
  type: "directory"
  directory:
    path: "/home/ssm-user/tmp"

For completeness; The uname -r output gives: 6.1.79-99.167.amzn2023.x86_64. I've used greenmask-linux-amd64.tar.gz and the following libraries postgresql15 postgresql15-contrib. The database version is Postgres 15 as well.

Hi! That kind of interesting thing. Is the user from whom you're running a greenmask a super user of postgresql instance?

If the user you're running a backup on is not the owner of a large object, is not a super user, and doesn't have grants on this object the error on opening a large object is expected. You can check it by running a query
begin; SELECT lo_open(loid, 75897); rollback;

I just verified, it's not the super user. Is that a hard requirement? I'm using the simple dump as a test to eventually work my way up to obfuscate an entire database.

Give a few minutes I will think about workaround

There is one problem that I don't know how to resolve it correctly. On the one hand, Large Objects are independent objects in PostgreSQL, on another hand, you can reference these objects in the table record in any way. It rather depends on the logic you have. That's why the pg_dump utility originally does not have an option for skipping large objects dumps. And that's why we didn't decide to introduce this option in greenmask. But, since we are working with database obfuscation we might want to get rid of large objects or leave them empty without data. And it looks worthy to implement.
The simplest way to overcome this issue is to introduce two options in greenmask

--no-large-objects - do not dump large objects at all. But if you have references in tables on those objects you will receive the error during restoration. You will be forced to create empty large objects or set NULL values on references
--large-object - inclusive list of large objects we want to dump. Other large objects will be skipped

What do you think about those options? Are they worthy of implementation?
But for now, without a patch with the options above or without having the proper grants on the objects, I suspect you can't make a backup in that case.

Thanks for the quick and detailed response, I really appreciate it!
I think the solution for my problem will have to be on my end, i.e get superuser access. I'm not super familiar with pg_dump or even large objects, but I can imagine a --no-large-objects could be useful for other use cases.

Thank you! I will raise a feature request for this option tomorrow.

I found something else that is interesting: I tried creating a dump with the same config for multiple different tables, but I always get the same error. I checked and saw that these tables do not have any BLOB types. Could this be an error? Or could I be missing something in my setup?

looking into this more, I suspect it's still on my side. I'll close this issue for now. Thanks again for the lightning quick support!

The large object dumper is independent from table dumper, whether table has references on LO or not. The problem is that even if you listed inclusively required tables the large object dumper will run anyway. That's why the option we discussed might be helpful


XMl CheatSheet.md

@kailashchoudhary11  bhaiya please remove the spam tag I have tried my best to create if you not intrested in documentation simply don't accept my Pull request but please remove this spam tag and invalid tag. due this is i'm disqualified

by mistake I have created a double pull request and I'm Really Sorry for that but please bhaiya remove the spam and invalid tag..
@kailashchoudhary11


Sticky Edit in issue/PR title bar that stays visible and usable on scroll

Description
#7147 reminded me that there is another functionality that scrolls away on long issues: The Edit button for the issue title.
Often I want to update the issue title based on information that I see in comment 175 in a long thread, but then I have to scroll to the top instead of just being able to hit Edit right where I am.

vs.

(Possibly hitting the button needs to scroll up the whole page so the title input is actually visible, that would be a fair tradeoff)
Example URLs
https://github.com/refined-github/refined-github/issues/5939

It would be ok for me to add a small pencil icon next to the title and have it scroll to the top, with the title edit field open

True, that would more fit the style of the title sticky row 👍

and have it scroll to the top

Since this is required, I don’t think it would save much time:

Cmd-up (or Home key on some keyboards)
Click Edit button

This would only save a keypress, not worth it


Inline-suggestion appearing at previous cursor location

Does this issue occur when all extensions are disabled?: No (Needs InlineSuggestions from some extension)

VS Code Version: 1.60.0
OS Version: MacOS Catalina 10.15.7

Steps to Reproduce:

Use GitHub Copilot. The exact version shouldn't be important, but this was verified using 1.4.2586.
Open a blank Python document and enter the following text:

thisVariable =
thatVariable =

There are a single space after each = sign. Put the cursor on the end of the first line and trigger Copilot inline-suggestion by pressing Backspace then Space. Don't accept it, but press Down-arrow, Backspace, Space. After pressing Down-arrow the suggestion on the first line disappears (as it should), but after the Backspace+space, you may see the suggestion briefly appear again, before the new inline-suggestion appearing on the second line.
This is a bit flaky, and it may not appear every time the cursor is moved. It may also depend on latency to the Copilot server, and so be less pronounced in e.g. North America than in Europe or Asia.

Please let me know soon if we should release this with our Recovery Release tomorrow!

Thanks for your lightning fast fix, @hediet! 🍾 🥳  Releasing this quickly would be awesome - it's a quite distracting glitch!

@johanrosenkilde can you verify that the issue is fixed in todays insider build?

@johanrosenkilde can you verify that the issue is fixed in todays insider build?

As he's out today, I've had a play with today's insiders build and can't reproduce it, whereas I can with the insiders build from 6th September. So looks good to me!


New package: WaterLily v0.2.0

Registering package: WaterLily
Repository: https://github.com/weymouth/WaterLily.jl
Created by: @weymouth
Version: v0.2.0
Commit: 4151fa9a0336dcc1f76d0478698a6cc0ae83820b
Git reference: HEAD

Awesome!


jQuery removed for clarity from README

So what's the go on this? I am interested in using this with out full jQuery (just jQlite) is it working?


TemplateContent content type is broken on Django 1.8

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/rodxavier/workspace/django_project/webapp/cms/models.py", line 5, in <module>
    from feincms.content.template.models import TemplateContent
  File "/Users/rodxavier/.virtualenvs/django_project/lib/python2.7/site-packages/feincms/content/template/models.py", line 6, in <module>
    from django.template.loader import (
ImportError: cannot import name Context

Wow. Thank you for the report. I'm a little bit surprised that we do not have any tests in this area.

I think changing the import may fix it.
from django.template import Context, Template, TemplateDoesNotExist

However, I'm not sure how to import find_template_loader. It seems like it's contained in the Django's new Engine class in django.template.engine.py

I'm not sure whether the functionality to enumerate templates is still present. If not, we might have to rethink the way TemplateContent works. I haven't had the time to investigate more yet.

Do I read correctly that finecms doesn't work with django 1.8 because of this problem?
Did you make any progress on this issue?

feinCMS works fine in our projects with django 1.8 as long as we don't use TemplateContent.
Is we use TemplateContent the error occurs:
from feincms.content.template.models import TemplateContent
Page.create_content_type(TemplateContent)

Yes, TemplateContent is broken as the underlying Django mechanism for enumerating templates has changed / is gone.

Here is a proposed alternative template content implementation:
https://github.com/matthiask/feincms/commit/2ad51c81158a12b620493f6786c3b05f3fa48161#diff-e83141c10d789cf42a328f779dcec96c
The templates enumeration is gone, but you get the possibility to show friendly template names to the user instead.

Docs are missing, will be fixed with FeinCMS 2.0 (see commit above)


feature Support query rewrite by materialized view when query is aggregate and materialized view has no aggregate

Proposed changes
Support query rewrite by materialized view when query is aggregate and materialized view has no aggregate
this maybe improve query spped, because it can save expression evaluation by use the expression result in materialized view.
this also support single table rewrite.
For example as follwoing:
mv def is:

       CREATE MATERIALIZED VIEW mv1
        BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
        DISTRIBUTED BY RANDOM BUCKETS 2
        PROPERTIES ('replication_num' = '1')
        AS
         select case when o_shippriority > 1 and o_orderkey IN (4, 5) then o_custkey else o_shippriority end,
         o_orderstatus,
         bin(o_orderkey),
         l_suppkey,
         l_linenumber
         from orders
         left join lineitem on o_orderkey =  l_orderkey;

the query as following can be rewritten by mv successfully

        select
        count(case when o_shippriority > 1 and o_orderkey IN (4, 5) then o_custkey else o_shippriority end) as count_case,
        o_orderstatus,
        bin(o_orderkey)
        from orders
        left join lineitem on o_orderkey =  l_orderkey
        where l_linenumber = 4
       group by
        o_orderstatus,
        bin(o_orderkey);

run buildall


Google Books API error

I recently discovered that cover images were not being saved to the db, and I found that the Google Books API was returning a 400 error when googleTransmit attempted to make the call.
Through trial and error, I discovered that the error was being triggered by the header set in line 671 of BookFeed.php, in particular the "GET" statement portion of the header. While it still worked to leave the "Accept: application/json" statement in the header, I've resolved this error by simply commenting out line 676 which sets the header within curl.
I'm not savvy enough at the moment to understand why the "GET" statement was included in the header, or why it would have just stopped working in late summer. Perhaps a character encoding issue?

Good question, I'll take a look and see about removing that line if it didn't have a good reason to be there.


Redo track drawing code entirely

In it's current form, it's a buggy mess, with tracks popping in and out of existance, and no links between track pieces on the edge of segments and arcs.

Almost done, trying to fix arc drawings. Not very good with vectors


Spring Boot Database: MariaDB

Similar to MySQL
Maybe it should be done after the refactoring : https://github.com/jhipster/jhipster-lite/issues/419

I can work on it


Fix: Scaffolding now properly populates templatesge nam…

The scaffolding "regal new rule" was adding incorrectly formatted package names in both the regal policy and the test.
This PR should fix the following:

The package name of the regal policy and the test file.
The import of the regal policy into the test file.
The 'title' attribute in the output of rule.report.

Thanks!


[SPARK-31327][SQL] Write Spark version into Avro file metadata

What changes were proposed in this pull request?

Write Spark version into Avro file metadata
Why are the changes needed?

The version info is very useful for backward compatibility. This is also done in parquet/orc.
Does this PR introduce any user-facing change?

no
How was this patch tested?

new test

cc @MaxGekk @dongjoon-hyun

Test build #120725 has started for PR 28102 at commit 5aaf2db.

Merged build finished. Test PASSed.

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

Test build #120725 has finished for PR 28102 at commit 5aaf2db.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class SparkAvroKeyOutputFormat extends AvroKeyOutputFormat<GenericRecord>
 static class SparkRecordWriterFactory extends RecordWriterFactory<GenericRecord>

Merged build finished. Test FAILed.

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

Thank you for pinging me, @cloud-fan .

Test build #120749 has started for PR 28102 at commit 0fe7bfd.

Merged build finished. Test PASSed.

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

Test build #120749 has finished for PR 28102 at commit 0fe7bfd.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #120758 has started for PR 28102 at commit dbe2e87.

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #120769 has started for PR 28102 at commit 3ee3d82.

Test build #120758 has finished for PR 28102 at commit dbe2e87.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

The last commit just adds blank lines. Thanks for the review, merging to master/3.0!

Test build #120769 has finished for PR 28102 at commit 3ee3d82.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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


useLoadingIndicator doesn't work correctly

Environment

Operating System: Linux
Node Version:     v18.18.0
Nuxt Version:     3.9.0
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      extends
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-examples-4fafzz?file=pages%2Findex.vue
Step to reproduce:

Click on Demo Link (doesnt work)
Check console logs (useLoadingIndicator().start();is called but not working)
Click on Start/Stop and see it's working fine from page.

Describe the bug
I've tried implementing useLoadingIndicator().start()but failed because it doesn't work from plugin hooks/pinia store for unknown reason.
I've provided reproduction which should work, check DevTools logs and click on ?
Additional context
No response
Logs
No response

This works correctly!
Your reproduction doesn't because stopLoading is automatically called on 'page:loading:end', so right away after you started the loading manually 🙈
Calling it with an await works better to showcase!
export default defineNuxtPlugin({
  // eslint-disable-next-line unused-imports/no-unused-vars
  async setup(nuxtApp) {},
  hooks: {
    // You can directly register Nuxt app runtime hooks here
    'page:loading:end': async function () {
      console.log('Calling startLoading function from a plugin!');
      await new Promise(r => setTimeout(r, 1000))
      startLoading();
    },
  },
});

Hello @manniL,
Your example works but honestly I didn't expect that.
My idea was that loading indicator should start as it was "restarted" in my case because it's a minimal reproduction.
Basically I'm trying to fetch data from API inside store and show loading indicator while data is fetched... but it's not working well and it's only reproduction that I was able to create which is solved by your given example.
Also an option like force start it from scratch should fix it  I think.
What do you think?
Thanks!

This is the reason of my problem:
https://github.com/nuxt/nuxt/blob/f5676fba5668c3dbff8c1c40e988d469740ee82e/packages/nuxt/src/app/composables/loading-indicator.ts#L16-L23
After page load for 900 milliseconds loading indicator can't be started. There should be a function to reset that instantly imo.

@divine I agree with regards to fully resetting it! Would you mind creating a new feature request for that?


Remove inner Arc on memoised strategies

This was an attempt to fix the poor scaling of same-feature lookups but
has not worked. It is however a useful improvement to have.
single_call/single_call time:   [265.38 ns 266.55 ns 267.73 ns]
                        thrpt:  [3.7350 Melem/s 3.7516 Melem/s 3.7682 Melem/s]
50000 elements per thread below:
batch/single thread     time:   [13.502 ms 13.542 ms 13.583 ms]
                        thrpt:  [3.6812 Melem/s 3.6921 Melem/s 3.7030 Melem/s]
32 threads below:
batch/parallel same-feature
                        time:   [105.75 ms 107.96 ms 109.94 ms]
                        thrpt:  [14.554 Melem/s 14.821 Melem/s 15.129 Melem/s]
batch/parallel distinct-features
                        time:   [35.620 ms 36.025 ms 36.418 ms]
                        thrpt:  [43.934 Melem/s 44.414 Melem/s 44.919 Melem/s]
batch/parallel unknown-features
                        time:   [11.877 ms 12.104 ms 12.261 ms]
                        thrpt:  [130.50 Melem/s 132.19 Melem/s 134.71 Melem/s]

I may need to crack out CPU profiling tools next to determine what is
up. It isn't exactly slow : 500k lookups per thread per second still
allows lots of headroom for developers to use toggles with confidence,
but it would be nice to figure out the issue and fix it.
Close #2

Thanks @amorken yeah, I do wonder if a larger rearrangement would be beneficial; I avoided having an explicit trait until now to make writing strategies ultra low overhead - and it is kindof magical that the simple closures still works :). Until I see a strategy that actually needs a larger footprint I'm satisfied with this though.


Markdown & Notebook markdown are missing files in web

With https://github.com/microsoft/vscode/pull/124557/files we started using notebook renderers on the web. But the web bits are missing the notebook-out folders, since the web build is completely separate from our regular build.
cc @mjbvz

@mjbvz This over-customization of extensions build further complicates our already-complicated build. It would be good to have synced on this beforehand. I am now refactoring gulpfile.extensions.js and lib/extensions.ts to accomodate for the code reuse with gulpfile.web.js. This was already a big mess due to the past introduction of gulpfile.web.js (cc @aeschli), and with the introduction of different build entry points to extensions, it unfortunately adds another dimension to the mess.

Ok, let me know if you have questions about the current structure. Some parts probably need to remain unique to the webview extensions build stage. For example, we use esbuild instead of webpack so that we can output native modules

https://github.com/microsoft/vscode/commit/d77799165664786807e9b439751a550ccfec3e27


Javax to jakarta on deploy

Small quick and dirty hacking to test on the fly conversion of javax apps using Arquillian or Tomcat webapp-javaee/ directory. For completeness, we need also Maven and probably some other entry points, but it's mainly a show case to show it's possible.
The counter part part is slow startup.

This seems to be too dangerous and with too many restrictions to move on for now


Editorial: PartitionDurationFormatPattern accessing non-existent slots

fix https://github.com/tc39/proposal-intl-duration-format/issues/190: PartitionDurationFormatPattern incorrectly tried to draw value of hours and seconds from DurationFormat object rather than from Duration Record.

This PR will solve the accessing non-existent slots issue. However, it is not solving the output problem completely.
Consider the following input
{"hours":1,"minutes":0,"seconds":0,"milliseconds":1}
{"hours":1,"minutes":0,"seconds":0,"microseconds":1}
{"hours":1,"minutes":0,"seconds":0,"nanoseconds":1}

The output in the algorithm will not set displayRequired  to true because duration.[[Seconds]] is 0.


No u 😎

I kid <3

❤


How to use in game?

Hey, i did gradlew.bat build and installed the mod in my game but can't find how to use it, no options, keybinds items, or anything... Thanks, -Philipou

You read the code and figure it out

Ok ill try but isnt it like easier if you just explain ? But thanks ill try to read the code

Oh ok i found how to use it with the command /setsuppressedshulkerbox and this code :

I just want to know is there any additional things to the mod before i close the "issue" ?

Check out /config too.


Catchup to gemma 1.3

[ ] Processed data endpoints
[ ] Filter parameter and it's documentation
[x] expanded factor values for differentialExpressionAnalyses

Processed data endpoints still have issues with authentication
https://github.com/PavlidisLab/Gemma/issues/574


Update hardcoded hostname Artifacthub

Notes for Reviewers
This PR addresses the issue where the hostname "Artifacthub" was hardcoded and should be "Artifact Hub". This change ensures consistency and clarity in the UI
This PR fixes #10437

Signed commits

[x] Yes, I signed my commits.

Thank you @yash37158
Let's discuss this in Meshery dev call today. Add this as an agenda item to the meeting minutes, if you would :)

Yeah sure @vishalvivekm

Gents, where do we stand on this PR? Still WIP or have we tossed in the towel?

Gents, where do we stand on this PR? Still WIP or have we tossed in the towel?


Align with Microprofile Health Check spec

Find ways in which this RFC can better align with the microprofile spec for health checks: https://microprofile.io/project/eclipse/microprofile-health

One immediate opportunity: aligning with "checks" field instead of RFC's current "details", since there were concerns about "details" in RFC already: https://github.com/inadarei/rfc-healthcheck/issues/20

MP Health recently broke back-compat by renaming "outcome"/"state" to "status"/"status". The only acceptable rationale (IMO) was to align with Spring Health Checks. Where MP Health is "checks"/"data", Spring is "details"/"details". So if we're really looking to synergize with Spring, then we are only part way there.
The outcome/state to status/status change kind of irked me. I did a big audit of popular health check outputs last night, and there is little to no overall consistency or emergent standards here.
To make better use of MP Health's 2.0 breaking changes, I'm trying to expand the scope of the considerations we will make so that we aren't breaking things just for nitpicky name changes like "I prefer status", "but I prefer outcome", "I don't care I just don't want you breaking my control plane automations", etc.

Initial PR: https://github.com/inadarei/rfc-healthcheck/pull/28
There're currently two major differences between RFC and microprofiles standard:

In Microprofiles, checks is a JSON Array, and the name of the check is a property. This is significantly harder to parse for clients than having the name as a key of a JSON object. The only reason why you would use an array, with a name, instead of a JSON object is if you expect duplicates. I don't think that is the case for checks, so parsing complication is unnecessary?

In microprofiles, all of the details about the status are shoved into a undefined "bag of properties" called "data". While that may seem very flexible and extensible - it is also an anti-pattern. If we don't define the semantic meaning of expected properties - what is the point of having the standard in the first place? You cannot build interoperable middleware or clients with just "data", so it beats the purpose and is a bit of a cop-out :)

P.S. I noticed that @derekm already had #1 difference submitted as a change request in https://github.com/eclipse/microprofile-health/issues/110


Allow any feature

Previously, there was an allowlist of features. If you tried to set something outside of that list, an error would be thrown.
Now, this checking is not done and any key is allowed.

Seems good to me 👍 , thanks for the help


Insane dependencies

Describe the bug
I just deployed the repository, and I was stunned, by the number of external dependencies:
Actual size of Webklex / php-imap
63 files in 9 directories
Count for everything needed by composer
1969 files in 202 directories in total, after running composer
If these dependencies were used extensively, ok, but I found, that Webklex / php-imap references these:
use Carbon\Carbon; -> used for date handling
use Illuminate\Support\Str; -> used for 2 functions: snake & camel
use Illuminate\Support\Collection;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
Expected behavior
Limit external dependencies.
Desktop / Server (please complete the following information):

all

Hi @michalkkkd ,
many thanks for your report. Please feel welcome to fork this repository and converting it into something much smaller. I happily link to it in the project readme for anyone looking for an alternative without dependencies.
Best regards & happy coding,


Update pubspec.yaml

Description

Checklist

[ ] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, refactor:,
docs:, chore:, test:, ci: etc).
[ ] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation and added dartdoc comments with ///, where necessary.
[ ] I have updated/added relevant examples in example.

Breaking Change

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

Related Issues

We should not enforce web:1.0.0, but it was already solved with https://github.com/bluefireteam/audioplayers/pull/1828, but it is not released yet. We'll do a release shortly.


chain_ident/chain_base_indent options

I was using rustfmt while working through the Rust book exercises, and I couldn't get the following code to format like it was in the book:
    let handles: Vec<_> = philosophers.into_iter().map(|p| {
        thread::spawn(move || {
            p.eat();
        })
    }).collect();

or even like this would be ok:
    let handles: Vec<_> = philosophers
        .into_iter()
        .map(|p| {
            thread::spawn(move || {
                p.eat();
            })
        })
        .collect();

I tried different combinations of chain_indent and chain_base_ident, but the .collect() on the end seems to mess things up.
Is there anything silly I'm missing? or is this style not possible?
Thanks!

There is not currently an option to block indent closures as shown or method chains. I've thought about doing it for large closures/blocks. It might be good to do it for method chains (I think an option for that should be relatively easy).

Great, thanks for the quick response :+1:

This has been implemented. The style you suggested is now the default.


how to configure Eureka server running on https instead of http

I tried to create a Eureka server, and config it with ssl support, but server would not start: anything I need to config to specify the Replica node URL, which might be the issue?
Finished initializing remote region registries. All known remote regions: []
2015-06-16 15:20:45.247  INFO 2433 --- [       Thread-3] com.netflix.eureka.EurekaBootStrap       : Replica node URL:  http://localhost:8761/eureka/
2015-06-16 15:20:45.248  INFO 2433 --- [       Thread-3] e.s.EurekaServerInitializerConfiguration : Started Eureka Server
2015-06-16 15:21:38.974 ERROR 2433 --- [nio-8761-exec-3] c.n.eureka.resources.StatusResource      : Could not determine if the replica is available
java.lang.NullPointerException: null
at com.netflix.eureka.resources.StatusResource.isReplicaAvailable(StatusResource.java:90)
at com.netflix.eureka.resources.StatusResource.getStatusInfo(StatusResource.java:70)
at org.springframework.cloud.netflix.eureka.server.EurekaController.status(EurekaController.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)

eureka:
client:
registerWithEureka: false
fetchRegistry: false
server:
waitTimeInMsWhenSyncEmpty: 0
spring:
application:
name: eureka

I'm not sure that NPE is actually causing any problems.  We see it from time to time and have been unable to fix it.

but my server is not able to come up somehow, because it is trying to find replica node with http://localhost:8761/eureka instead of https://localhost:8761/eureka

The exception is thrown because of the UI - it doesn't interfere with the normal Eureka operations.
Basically, your Eureka server doesn't recognise itself as being http://localhost:8761/eureka/ which is the default eureka.client.serviceUrl value if none is explicitly set in your config.
The server takes its identity from eureka.instance.hostname which by default resolves to the hostname or your machine (if not explicitly set otherwise in your config).
Result: if your hostname is myhostname, a serviceUrl=http://localhost:8761... points to a different machine... which Eureka interpret as being a peer it should replicate with.
You can get rid of that exception by adding the following in your config:
server.port: 8761
eureka.instance.hostname: localhost
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

The exception should disappear...


Refine publication year indexing

Use records with "unknown" pub year to identify specific improvements to make

These all appear to be just issues with the source data.


List defined testcases

Define TESTCASES are automatically exported but it is useful to have the list of exported testcases in the package definition. Some function should list the defined testcases in a package and output a code snippet that can be used in a DEFPACKAGE clause.

Implemented and documented in #14


Fix to convert decimal to String and bigint to BigInt

This PR tries to resolve #42.

Fixed to convert MySQL's decimal type to String.
Fixed to convert MySQL's bigint type to BigInt.

@manyuanrong @magichim Please review🙏

@uki00a BigInt is LGTM. but long decimal type(0.1232131313123123123231231) should be used as string? "0.0123123123123123"

@magichim I'm sorry for my ignorance, but what do you mean by "long decimal type"? Is that type different from "MYSQL_TYPE_DECIMAL"?

@uki00a Yes your word is right. My expression is wrong. anyway, decimal type should be string in js? I also could not find that maintain origianal decimal value. because js engine automatically change some value at part of end.

@magichim

but long decimal type(0.1232131313123123123231231) should be used as string? "0.0123123123123123"

I suspect that in some applications, the loss of accuracy is unacceptable (0.1232131313123123123231231 => "0.0123123123123123").
To avoid that, I think that MySQL's decimal type should be treated as a js string.

@magichim Thanks for the review!

Oops, CI fails. I'll look into it.


voxpupuli-puppet-lint-plugins: Require 4.x

Tested in https://github.com/voxpupuli/puppet-example/pull/27


Adopt icon font in custom dialogs

Related #78889
This adopts the icon font in our custom dialogs. It also inherits the colors from our severity color tokens, like the notifications + problems icons. I also tweaked the DOM layout of the title text so that it's vertically centered majority of the  time.

And when either the editor Error/Warning/Info foreground color tokens are modified:


JSON Payload Not sent to API endpoint

Your description here
APIs not receiving the payload.
Expected outcome
What should happen?
The JSON Payload should be received in the API.
Actual outcome
What happened?
But despite setting content-type header, nothing is received.
Versions
App: <IP_ADDRESS>-stable
Chrome: 50.0.2661.75
Platform: Mac OS X (10_11_4)

Can you open response's Request headers tab and paste "Source message" content?

It is a message directly sent to server via the socket. It will help debug the issue.

What I see here is that the message is send to the server correctly. This is the proper HTTP message that should be send to server. You should check if the server code recognize input correctly. Maybe your server recognize different content-type than application-json.
I'd be inclined to close this as work as intended.

I'm closing it because of lack of activity.


[Bug] 2.0.0-beta.19 and 2.0.0-beta.20 Breaking Changes

Describe the bug
Docusaurus 2.0.0-beta.19 and 2.0.0-beta.20 introduced breaking changes preventing us from upgrading from 2.0.0-beta.18. This issue will be used for both bug and progress tracking as we work through the issues.
Expected behavior
There should be a viable upgrade path moving from 2.0.0-beta.18 to beta.19 or beta.20.
Current behavior
Currently, we're able to run beta.19 and beta.20 in dev server only - production builds are not possible. The errors suggest possible issue with legacy or incompatible module exports in docusaurus-theme-openapi-docs.
Progress

[x] Cleanup @ts-ignore throughout project #80
[ ] Address issue with useColorMode hook (ensure calling component is wrapped in Layout)

Target release: 2.0.0-beta.20

Note: beta.19 removed support for FrontMatter type. Refactored ApiItem to use DocFrontMatter type instead, copied over from https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-plugin-content-docs/src/plugin-content-docs.d.ts#L260.

✅ Dev server
❌ Production Build

Stack trace:
TypeError: chalk_1.default.bold is not a function
TypeError: chalk_1.default.bold is not a function
[ERROR] Unable to build website for locale en.
[ERROR] Error: Failed to compile with errors.
    at /Users/sserrata/projects/panw/docusaurus-openapi/node_modules/@docusaurus/core/lib/webpack/utils.js:182:24
    at /Users/sserrata/projects/panw/docusaurus-openapi/node_modules/webpack/lib/MultiCompiler.js:554:14
    at processQueueWorker (/Users/sserrata/projects/panw/docusaurus-openapi/node_modules/webpack/lib/MultiCompiler.js:491:6)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed.
Exit code: 1
Command: /usr/local/Cellar/node/17.4.0/bin/node
Arguments: /usr/local/lib/node_modules/yarn/lib/cli.js build
Directory: /Users/sserrata/projects/panw/docusaurus-openapi/demo
Output:

info Visit https://yarnpkg.com/en/docs/cli/workspace for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Able to build successfully after https://github.com/facebook/docusaurus/pull/7453 was merged


Adding masquerade_address_map client ip support

Signed-off-by: weizi<EMAIL_ADDRESS>Adding masquerade_address_map client ip
masquerade_address_map = {"<IP_ADDRESS>":"<IP_ADDRESS>","<IP_ADDRESS>":"<IP_ADDRESS>"}
client-A  -> nat device -> ftp server.  <-  nat device.  <- client-B

client-A
nat device
ftp server
nat device
client-B

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

What's the story behind this? Why is this needed?

What's the story behind this? Why is this needed?

client-A
nat device A
ftp server
nat device B
client-B

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

The nat device only allows pasv mode for clients accessing the ftp server, and does not support alg.
ftp server connects two networks through nat.


⚠ Bofrost.at has degraded performance

In f008c94, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2105 ms

Resolved: Bofrost.at performance has improved in 060da16.


IPFS Connectivity

Upload file on IPFS after user presses upload

Linked PR relates to communicating with the IPFS daemon. While this provides the ability to upload and download content from IPFS, it does not actually implement the UI to do this. It merely provides the code handles to support the operation.

Basic front-end connection has been merged into master. While the UI is not fancy at the moment, it is functional.


chore(deps): bump secp256k1 from 0.24.3 to 0.27.0 for fedimint-mint-tests

Requires #4859
Part of #2356

Needs rebase, merges cleanly but doesn't compile.

Needs rebase, merges cleanly but doesn't compile.

Done!


Use null instead of none

Tinkering with Neovim, somehow they removed it, causing a sloth of error messages; seems a small price to pay for compatibility

Thanks!


Add basic shapes: oval and rectangle

I propose a basic implementation of adding oval and rectangle to an image. I added this as alternative shapes to the BrushDrawingView (default being the existing free hand). Paths are simply drawn depending on the selected tool.
Maybe you thought about this feature differently, please do comment if I need to revise my implementation.
I updated the demo app and added tests and documentation as well. I attach a view of the new tools in the toolbar and the rendering of such shapes. Icons are kinda trivial but understandable :-)

Resolves #72

Thanks for PR. I had few things in mind. Let me review it and get back to you.

Initially I had an idea of allowing to add a custom view to the editor using API photoEditor.addCustomView(View view)
And I think we can start this idea with shapes.
My ideas was to have a ShapeView which takes Shape interface and draw the shape based on the implementation.
Pseudo code look like this.
  class ShapeView extends View {
    // All the touch listener and setup goes here
    void setShape(Shape shape)

    void draw(){
      shape.draw();
    }
  }

  interface Shape{
    void draw();
  }

  class Rectangle implements Shape
  class Oval implements Shape

Then we add a addShape(Shape shape) API in PhotoEditor interface which will allow client to add there on custom shape. The library will provide the most common implementation of shapes like you are did Rectangle andOval.
When client add the shape, we will add it into undo/redo stack as well as we do with addText() and addImage()
I would like to not mixup the shape into BrushDrawingView for few reasons.

Undo only drawing bursh #268
BrushDrawingView will become GOD class if we need to add more shapes.
In future we want replace this BrushDrawingView to independent brush drawing item.

The challenge I see is on eraser implementation with each ShapeView.
This was thought. Let me know your thoughts on this.

Hi @burhanrashid52,
I like your proposal, for several reasons. First, it's cleaner, and as you said, I felt that adding this to BrushDrawingView was not the best place to do it. As I said, it was a bit hacky, but a good way to initiate this conversation :-) Then, I like the idea of having individual shape objects to manipulate. I think that this pattern could be the foundations of independent drawing items and help for the eraser implementation you talk about. For me, views added should be individually removable, as the text. As a consequence, it is not "erasable" but deletable, as a whole, which seems more logical, as it is added as a whole as well. Then, we would be able to select them and change their style even after first addition. What do you think of this?
I can try to propose a first implementation of this in the next few days. I'll modify this PR.

Yeah I like the idea of deletion since it's added as whole.
Let's see how first draft look like and then we can discuss more.

I'll begin to work on this as soon as possible.
Last question: would you consider starting to introduce Kotlin code in the lib or not? If OK, I'll write new code and classes in Kotlin.

I have some questions though. I'm not a Canvas specialist, so I'm not sure if I should have a Canvas (and a Path) for each Shape, or if I should have a unique one for all Shapes. The latter seems to prevent ease of creating individual items. What do you think of this?

Yes having path for each shape will be more flexible. As I already mentioned that we can have common ShapeView which can take care of basic plumbing like inflating view and creating paints and stuff. And Shape interface will use to draw path which in our case would Rectangle and Oval.

I didn't dive into your GraphicManager and what it does. Do you think I should use it or should I follow the DrawingView paradigm?

GraphicManager is basically used to add/remove and undo/redo graphics. It does not know about the graphic details. For creating view we better use Graphic abstract class. You can take an example of how Sticker , Text and Image internal classes are implemented.

Last question: would you consider starting to introduce Kotlin code in the lib or not? If OK, I'll write new code and classes in Kotlin.

I really want too. But I am avoiding this right now because.

The library will need additional kotlin library
Need to update java doc for kotlin.
Create kotlin friendly API's
This requires a lot of work and I de prioritize because of my limit bandwidth.

I would happy if someone wants to take this. #360
Also coming back to this feature we can focus to make this work and release it and then we can start the conversation for Kotlin migration.

Also the ui tests are failing.

Hi @burhanrashid52,
No problem for not using Kotlin for now, I was just asking. I know it is a bit of work, that can wait a bit.
I began to work on the subject, following what we said last week. With a bit more background on this, I now don't think we should have a Canvas for each Shape, but a Path for each Shape instead. In case of using multiple Canvas, we have as many Views, then we should handle children of the parentView and their indexes. I think it would be simpler to just use a Path per Shape and generalize the current BrushDrawingView (the new ShapeView) to handle all the Shapes (brush could then be a Shape also).
Are we on the same page here?

In case of using multiple Canvas, we would have as many Views, then we should handle children of the parentView and their indexes
I did not get it. Can you elaborate or share a pseudo example.

Here is what I did, which follows what we said earlier:
First is ShapeView:
public class ShapeView extends View {
    private final Paint paint = new Paint();
    private Shape shape;

    private void setupView() {
        paint.setAntiAlias(true); // and so on...
    }

    @Override
    protected void onDraw(Canvas canvas) {
        shape.draw(canvas, paint);
    }

    @Override
    public boolean onTouchEvent(@NonNull MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                shape.startShape(touchX, touchY);
            case MotionEvent.ACTION_MOVE:
                shape.moveShape(touchX, touchY);
            case MotionEvent.ACTION_UP:
                shape.stopShape();
        }
        invalidate();
        return true;
    }

    // Setters/Getters
    public void setShape(Shape shape) {
        this.shape = shape;
    }
    public void setSize(float size) {...}
    public void setOpacity(int opacity) {...}
    public void setColor(int color) {...}
}

The Shape interface:
public interface Shape {
    void draw(Canvas canvas, Paint paint);
    void startShape(float x, float y);
    void moveShape(float x, float y);
    void stopShape();
}

An example of Shape:
public class RectangleShape implements Shape {
    private float left, top, right, bottom, lastX, lastY;
    private Path path = new Path();

    @Override
    public void draw(Canvas canvas, Paint paint) {
        canvas.drawPath(path, paint);
    }

    @Override
    public void startShape(float x, float y) {
        left = x;
        top = y;
    }

    @Override
    public void moveShape(float x, float y) {
        path = createRectanglePath();
    }

    private Path createRectanglePath() {
        Path path = new Path();
        path.moveTo(left, top);
        path.lineTo(left, bottom);
        path.lineTo(right, bottom);
        path.lineTo(right, top);
        path.close();
        return path;
    }

    @Override
    public void stopShape() {}
}

Then into PhotoEditorImpl.java, I added the following method:
    @Override
    public void addShape(Shape shape) {
        ShapeView view = new ShapeView(context);
        view.setShape(shape);
        shapeView = view;
        setShapeSize(DEFAULT_BRUSH_SIZE);
        parentView.addView(view);
    }

As I add the ShapeView to the parentView (as it is done for the BrushDrawingView, I have as many Views as Shapes, and I always draw on the last added one. Therefore my concern on handling so many Views and their Z positions. The alternative would be to always use only one Canvas in a unique View, but with as many Paths as Shapes. It it clearer?

If add the view the way you have currently implemented then

How we draw the shape ? By click an drag like brush ?
Can erase the specific part or do i need to undo it ?
Can delete the entire shape like we do with sticker and image ?

If add the view the way you have currently implemented then
1. How we draw the shape ? By click an drag like brush ?

2. Can erase the specific part or do i need to undo it ?

3. Can delete the entire shape like we do with sticker and image ?

@stephanepechard Any updates on this ?

Here are my thoughts on this:

How we draw the shape ? By click an drag like brush ?

Can erase the specific part or do i need to undo it ?

Can delete the entire shape like we do with sticker and image ?

Mostly yes, except there's a need for an additional tap (and UI) to select the shape. Default color, size and opacity are the same ;
Undo it is more natural. Maybe not all options though (color, opacity, etc.) ;
That's what I want to achieve, thus my current interrogations on how to add and handle multiple views. Will probably try the multiple paths option, to ease the global management.

Here are my thoughts on this:

How we draw the shape ? By click an drag like brush ?
Can erase the specific part or do i need to undo it ?
Can delete the entire shape like we do with sticker and image ?

1. Mostly yes, except there's a need for an additional tap (and UI) to select the shape. Default color, size and opacity are the same ;

2. Undo it is more natural. Maybe not all options though (color, opacity, etc.) ;

3. That's what I want to achieve, thus my current interrogations on how to add and handle multiple views. Will probably try the multiple paths option, to ease the global management.

Sounds good 👍

Hi @burhanrashid52,
Here is a more consistant contribution. I've made the Shapes to be drawn on a unique dedicated ShapeView, as brush is. Each Shape is made of an internal Path and is configured/styled through a ShapeBuilder. To regroup common Shape code, I've added an abstract class that implements the Shape interface. Things could be even tighter around here, but it's not bad already. I've also added a new Shape, to draw lines. It's easy to add one with this implementation, you just need to specify how it is drawn in its own class. Style is handled the same way for all Shapes.
I consider moving the Brush as a Shape in itself and therefore get rid of the BrushDrawingView as it is. What would think of it? It would be simpler to maintain, the Z-order of the views would be proper and the undo-redo feature would be easier to do.

Here is a more consistant contribution. I've made the Shapes to be drawn on a unique dedicated ShapeView, as brush is. Each Shape is made of an internal Path and is configured/styled through a ShapeBuilder. To regroup common Shape code, I've added an abstract class that implements the Shape interface. Things could be even tighter around here, but it's not bad already. I've also added a new Shape, to draw lines. It's easy to add one with this implementation, you just need to specify how it is drawn in its own class. Style is handled the same way for all Shapes.

Sounds great. Will try to review by this week.

I consider moving the Brush as a Shape in itself and therefore get rid of the BrushDrawingView as it is. What would think of it? It would be simpler to maintain, the Z-order of the views would be proper and the undo-redo feature would be easier to do.

Yeah it make sense. We can treat Brush as independent Shape which will make undo-redo easier and consistent.

I tested the code and found the undo/redo is not working with shapes. I think after reviewing the code I want to change my opinion on having a separate ShapeView.
Now I see that why you preferred the Free shape in the beginning. I think you were right on keeping the BrushDrawingView same and just add FreeHandShape for drawing free and keep other shapes adding to the same BrushDrawingView.
If we can move the ShapeView logic in BrushDrawingView as you did with your first commit by keeping the shape API same AbstractShape, Shape, Line and ShapeBuilder etc then the undo/redo will just work fine.
The only thing we need to make sure of is the BrushDrawingStateListener emitls callback events properly on drawing other shapes like Line, Oval, and Rectangle.
We don't need to concern about #268 issue I mentioned in the previous comment.

Yes, the merge of both views seem necessary, to keep all features and have a consistant code.
I will probably change names of some components though, to reflect new features.

Yes, the merge of both views seem necessary, to keep all features and have a consistant code.
I will probably change names of some components though, to reflect new features.

Great 👍 Looking forward to it. I am excited to release this feature soon 😃

I'm almost done with the creation of a unique View (that I renamed DrawingView) with a functioning undo/redo. I remove the eraser as it was, as it does not reflect the new Shape architecture.

I realized that with the new features, the removal of the eraser and some renaming, this new version will break the API. Can we consider updating the version number to 2.0.0 to reflect that?

Here is the commit. Quite a big one again, but we're close to the end I think.
Undo-redo performs the same for all Shapes now, and eraser has been erased :-)
I fixed the tests as well, but I'll try to find the time to add some more.

Ah!! We cannot remove the eraser. We need that for erasing with free hand on drawing and shapes. Currently I am not in state to manage big release and breaking changes. We can go the first approach on your first commit as we discussed.

We need add Eraser back and rename DrawingView to BrushDrawingView which I think will fix most of the breaking API changes.

I can't go back to my first commit, as Shapes are not removable at this point.
I'll set the eraser back but renaming DrawingView to BrushDrawingView is not necessary as it not used in the API as is. The only remaining API breaking changes is the removal of setBrushSize, setOpacity, setBrushColor, setBrushEraserSize, getEraserSize, getBrushSize and getBrushColor due to the use of ShapeBuilder now but I can set them back, annotate them as @Deprecated and apply them to the current Shape if any. When it is done, the only change is the addition of updateShape, which is not breaking.
What do you think of this strategy?

I can't go back to my first commit, as Shapes are not removable at this point.
I'll set the eraser back but renaming DrawingView to BrushDrawingView is not necessary as it not used in the API as is. The only remaining API breaking changes is the removal of setBrushSize, setOpacity, setBrushColor, setBrushEraserSize, getEraserSize, getBrushSize and getBrushColor due to the use of ShapeBuilder now but I can set them back, annotate them as @Deprecated and apply them to the current Shape if any. When it is done, the only change is the addition of updateShape, which is not breaking.
What do you think of this strategy?

Sounds good to me 👍
Also, can we rename updateShape to setCurrentShape or just setShape This makes more sense from API readability. The updateShape sounds like I am updating the existing Shape with different attributes.

No problem with renaming updateShape to setShape, it sounds way better.

Here is a commit with the come back of the eraser and the addition of @Deprecated annotations on some setters (not the getters after all, as they use the new model).
Eraser is now an independent dedicated Shape in itself. Therefore, it is not related with the undo/redo feature.
Tests should be ok too.
Tell me if it's ok to merge this version.

I've tested the changes and it's working great but found few issues.

When we set brush mode it bring the brush in front which is breaking the previous behavior. The DrawringView always stay behind. Reverting parent.useBrushView() will solve the issue.
This is not a bug. Removing eraser from undo/redo will also break the previous behavior. I would still prefer to have undo/redo for eraser or add a configurable parameter from PhotoEditor.Builder which allows undo/redo eraser. Example photoEditor.Builder().setUndoRedoForEraser(true/false)

@burhanrashid52
1 was easy. It was a remainder that I forgot to remove. Nicely caught!
2 was a bit more work, but finally, we're back on the original behaviour, as eraser is treated as multiple Shapes, in the stack of Shapes, do undo-redo is functional again.
Tell me if you see anything else.

@burhanrashid52
1 was easy. It was a remainder that I forgot to remove. Nicely caught!
2 was a bit more work, but finally, we're back on the original behaviour, as eraser is treated as multiple Shapes, in the stack of Shapes, do undo-redo is functional again.
Tell me if you see anything else.

That's it. I will do just one round of testing and will merge it. Thank you so much for this effort and making it all works. 👍


export service connects to the mqtt service auth  fail

🚀 Feature Request
Description
When the export service connects to the mqtt service, the addressable.publisher is used as the ClientID, which may cause authentication failure on some cloud platforms. It is recommended that the ClientID be configured by the user in the configuration file.
Describe the solution you'd like

/api/v1/registration

"addressable": {
		"name": "XXX",
		"protocol": "XXX",
		"method": "XXX",
		"address": "XXX",
		"port": 1883,
		"path": "",
		"publisher": "XXX",
		"user": "XXX",
		"password": "XXX",
		"topic": "XXX",
		"clientid":"Add new configuration "
	}

Closed.  Export services are deprecated and will be removed from the Geneva release.


[web] [test] bug: Completer does not complete when running via flutter drive on web

If running widget tests for completer, the tests never succeed for web via flutter drive.
Steps to Reproduce

Run chromedriver: chromedriver --port=4444
Execute flutter drive --driver=test_driver/integration_test.dart --target=integration_test/lib_test.dart -d web-server --no-headless on the code sample

Note: same outcome with -d chrome option.
Expected results:
To fully run the tests, with third print statement Debug 3.
It works with wrapping the code inside runAsync though:
...
    await tester.runAsync(() async {
        final Completer _completer = Completer<bool>();
        ....
    });

It also works for flutter test on other platforms:
flutter test integration_test/lib_test.dart -d linux
00:00 +0: loading /media/Data/Coding/git/bluefireteam/audioplayers/packages/audioplayers/example/integration_test/lib_test.dart                                                                                B00:16 +0: loading /media/Data/Coding/git/bluefireteam/audioplayers/packages/audioplayers/example/integration_test/lib_test.dart
00:17 +0: play multiple sources Test Completer
Debug 1
Debug 2
Debug 3
00:19 +1: All tests passed!

Actual results:

Code sample

// integration_test/lib_test.dart
import 'dart:async';

import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('Test Completer', (WidgetTester tester) async {
    final Completer _completer = Completer<bool>();
    print('Debug 1');
    Future.delayed(const Duration(seconds: 2), () {
      _completer.complete(true);
    });
    print('Debug 2');
    await _completer.future;
    print('Debug 3');
  });
}

Logs

Chromium version:
Chromium
Version 108.0.5359.94 (Official Build) (64-bit)

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on Ubuntu 22.04.1 LTS 5.15.0-56-generic, locale en_US.UTF-8)
    • Flutter version 3.3.9 on channel stable at /opt/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (3 weeks ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /home/gustl/Android/Sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /home/gustl/Android/Sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu122.04)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 14.0.0-1ubuntu1
    • cmake version 3.22.1
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] IntelliJ IDEA Ultimate Edition (version 2022.3)
    • IntelliJ at /snap/intellij-idea-ultimate/398
    • Flutter plugin version 71.0.6
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.1 LTS 5.15.0-56-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 108.0.5359.98

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Related:
https://github.com/flutter/flutter/blob/master/packages/flutter_driver/lib/src/driver/driver.dart
https://github.com/dart-lang/sdk/blob/main/sdk/lib/async/future.dart

Same problem with await Future.delayed(const Duration(seconds: 10), () {});

Thanks for the report. Using code sample provided, seeing same behavior as reported.

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.9 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (12 days ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.7.0-8.0.pre.5, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.7.0-8.0.pre.5 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f07db4018a (3 hours ago), 2022-12-14 03:25:49 +0200
    • Engine revision 14194c40ec
    • Dart version 3.0.0 (build 3.0.0-19.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

This was my mistake: I forgot this line IntegrationTestWidgetsFlutterBinding.ensureInitialized();
https://docs.flutter.dev/cookbook/testing/integration/introduction#4-write-the-integration-test
Sorry for the inconvenience :)


Running on GPU

Hi,
I didn't find the document for running the workloads on GPU. At least they need cuda and I didn't find that. Any guide? What is the minimum cuda version for that?

The GPU requirements are just the ones for TensorFlow, so you can follow the instructions on their installation guide.


[REQUEST] Bot stays within a predefined area

To be clear let's say I want the bot to stay within my favorite park, so i would just define a central coordinate, a radius, then the bot just visit all forts within that area and doesn't go away.

#3633


Update maintainers and authors

All hail the new regime.
Signed-off-by: Richard Scothern<EMAIL_ADDRESS>

Current coverage is 53.01%

Merging #1423 into master will decrease coverage by -4.19% as of 9a0f037

@@            master   #1423   diff @@
======================================
  Files          123     123
  Stmts        11357   11338    -19
  Branches       799     729    -70
  Methods          0       0
======================================
- Hit           6497    6011   -486
+ Partial        799     729    -70
- Missed        4061    4598   +537

Review entire Coverage Diff as of 9a0f037

Uncovered Suggestions

+0.28% via ...ge/driver/gcs/gcs.go#182...213
+0.24% via ...ge/driver/gcs/gcs.go#85...111
+0.21% via ...ge/driver/gcs/gcs.go#471...494
See 7 more...

Powered by Codecov. Updated on successful CI builds.

:+1:

LGTM

LGTM

LGTM


Grouping Tests: Fix syntax in code example

This pull request fixes a syntax issue in a code example on the "Grouping Tests" page.

Whoops. Looks like this is a duplicate of #294 - closing in favour of that one.


Autohide minimap for frames that already show all the code

Right now, the minimap is shown in every frame when it's enabled. I'd like for it to automatically hide when everything can be seen already, or alternatively to be able to disable it per-file instead of globally.

I made a quick change to achieve this, ill gladly take any feed back on it

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Claim reward page

Have a page where the user can drop-in their commit files and we check if they have any pending reward claims

@miguelmota This would be interesting to live within the user's account dashboard. Just a new card underneath the filters box would be cool.


feat: support more images for benchmark

To support more images in benchamrk on schedule.
1.  move image arg from config.yml to runtime arg.
2.  support more images in benchamrk.

image
status
workflow
stable version test

wordpress
✅
wait the 80 port response
6.1.1

node
✅
node misc/benchmark/node/index.js & wait the 80 port response
19.8

python
✅
python -c 'print("hello")'
3.10.7

golang
✅
go run misc/benchmark/go/main.go
1.19.3

ruby
✅
ruby -e "puts \"hello\""
3.1.3

java(amazoncorretto)
✅
javac msic/becnhmark/java/Main.java & java Main
8-al2022-jdk

Next Wokr: test these images on schedule.

Hi @Desiki-high, any example to preview the results of these images?

Hi @Desiki-high, any example to preview the results of these images?

See the link in stable version test.

Hi @Desiki-high, any example to preview the results of these images?

See the link in stable version test.

You can see the image changes of workflows file in smoke.

@imeoer Is there any problems else about this PR?


Vulkan: Storage buffer visualization redundantly repeats the first fields with garbage data

This is with Vulkan.
I have a storage buffer that looks like this:
struct Object {
	int type; int material; float radius; int pad2;
	vec4 pos;
};
layout (binding = 3) buffer Scene {
	int objectCount;
	int materialCount;
	int pixelWidth;
	int pixelHeight;
	vec4 skyColor1;
	vec4 skyColor2;
	int frameCount;
	int a;
	int b;
	int c;
	Object objects[];
};

GLSL storage buffers have a set of base data (everything up to and including "c") and then a variable-sized array, in this case objects. RenderDoc visualizes this as if every item in the variable-sized array also has all the base fields, but initialized with garbage (like pixelWidth):

Would be nice to split the table up into two parts, where one is the base structure, and the rest contains only the Object struct.

This is a bug, I'll try and set up a local repro to see what's going on.
What's supposed to happen is that while generating the format string, it lists the non-repeating variables (the base data you're talking about) as commented out, saying // members skipped as they are fixed size: and then lists the structure of the repeated variable.
I'm not sure it's feasible to have this view set up to display both types of data. Instead it's the kind of thing where you could manually uncomment those variables if you wanted, to see the first row. Not ideal really but the view is set up for viewing repeated data - the constant buffer viewer is more the style for viewing non-repeated data but it's hard to untangle from a buffer containing both and have it not end up as a complete mess to look at for both.

If you want to, I can get you access to my code, it's not particularly secret. But should be trivial to repro.
Regarding presentation, I was thinking to keep the table for the repeated data, and maybe just dump the base struct as something like this to a multiline text box beside it:
objectCount: 2
materialCount: 5
pixelWidth: 800
(etc...)

E-mailed you a repro.
Alright, I didn't realize how the Buffer Format textbox was intended to be used. It indeed outputs the line // members skipped as they are fixed size: but none of the fields after that are actually commented out.
Being able to switch to the constant buffer viewer for that first data would be nice, yeah.

Yes the buffer format is pre-populated with data from the pipeline where possible, but generally it's completely customisable which can be useful if configuration is wrong or missing, or you suspect the data was packed incorrectly and want to view it in another way.
On looking again at the code I'm blind apparently, it looks like indeed it's as simple as the members that are supposed to be skipped aren't generated commented out. That commit should actually comment them out now.


Parse underscore type lambdas (And +_ and -_ symbols)

Recently added to Scala 2 in: https://github.com/scala/scala/pull/9605 (Under flag -Xsource:3 + kind-projector flag -P:kind-projector:underscore-placeholders https://github.com/typelevel/kind-projector/pull/186)
And to Scala 3 in: https://github.com/lampepfl/dotty/pull/12378 (Under flag -Ykind-projector:underscores)
Note: Scala (with the above flags) now accepts tokens +/- followed by _ as a type lambda placeholder. Some examples w/ edge cases below:

https://github.com/scala/scala/pull/9605/files#diff-9cc41709c754ef3f0d8f37556e954ff08ce6a8531205c710a4fa84eb59db145a
https://github.com/lampepfl/dotty/pull/12378/files#diff-95ae2d65c0a03a3dee556e5d610eaa65bfb4d614282904302d3baed217ba659c
https://scalacenter.github.io/scala-3-migration-guide/docs/tutorials/kind-projector.html

@neko-kai Will this change be included in 2.12.14  + -Xsource:3?

@dos65 Yes


TNBC Analytics (open source auditing/analytics tools)

Project Details
How would you describe your project?
TNBC Analytics is a web app to track TNBC transactions from treasury to government and government to other distributed TNBC accounts for transparency and accountability.
What problem does this project solve?
It would help the community to keep tracking on the transactions made by the government.
Who is the target market?
All the people who want to audit the transactions of government.
How will this project benefit the network and/or the community?
It would help the core team and government build trust among community members and provide transparency.
How is this project centered around thenewboston?
This service is particularly for TNBC.
What is the estimated completion date for this project? (rough estimates are acceptable)
Our estimated time to complete the MVP is within next two months. It could be declared as August 2021
Please include a detailed roadmap for your project below. This must include a list of all milestones where payments will be awarded upon completion of each.
Software Architecture and Complete UX/ UI Design
Frontend and Backend development
Testing and Deployment
What is your Discord username?
SazidAhmed#8192
Additional files and documentation including architectural diagrams, wireframes, research documents, visuals, etc… (optional)

wireframe : https://www.figma.com/file/vF1qxpJLAyzbRFABAtK92m/TNBC-Analytics?node-id=0%3A1

Milestone Details
Please include a detailed breakdown of the first milestone including a list of all quantifiable objectives. Upon
completion of the milestone, each objective will be reviewed by thenewboston team and once all objectives have been
verified as completed, coins will then be rewarded.
Note that all future detailed milestone breakdowns will be written as a separate GitHub issue. Only the first milestone
is included in this project proposal.

First Milestone Description
In this milestone we’re going to work on Software Architecture and a complete working version of UX/ UI design.
First Milestone Objectives

#
Objective
How can auditors verify milestone?

1
Software Architecture
Architectural documents, ERD, UML diagram and database design would be provided

2
UX/ UI design
Figma project of the UI/UX design would be provided

How long do you estimate this first milestone will take to complete?
2 weeks
Project Wallet
a5dbcded3501291743e0cb4c6a186afa2c87a54f4a876c620dbd68385cba80d0

Hi @SazidAhmed, we approve this project and propose a payout of 25000 TNBC for the first milestone.

@tspearing Thanks to Audit team and the Government for approving the project.

Here is the github repository of the project : https://github.com/Techminate/TNBC-Analytics

@tspearing hello, would you please tell me how to submit the first milestone report.
Is there any format of report that I should follow ?

Hey @SazidAhmed  you can make a milestone payout request from HERE.


Need a "clean" method for parameter validation

While writing some request method tests recently, I came across some mild confusion, conceptually speaking.
We perform a parameter validation for datetimes within the make_request method, here:
https://github.com/python-amazon-mws/python-amazon-mws/blob/7dd4a509e0f699885383d9b638e8d9b24bb57875/mws/mws.py#L249-L251
Aside from this, params are not validated much further. The next time they are touched in a similar fashion is inside calc_request_description:
https://github.com/python-amazon-mws/python-amazon-mws/blob/7dd4a509e0f699885383d9b638e8d9b24bb57875/mws/mws.py#L81-L84
Here, the parameter value passes through str and urllib.parse.quote (on Python 2, urllib.quote). That str conversion is necessary to prevent errors when passing the value through quote, which is fine.

Problem: These two spots represent two different points of input validation that only A) convert datetime objects to strings in ISO-8601 format, and B) convert any other value to str (while not catching any exceptions that could be raised by str). While it isn't breaking much, it limits options for further validation, as well as adding some confusion as to whether and/or when any validation is being performed.

Solution: Would like to write a "clean" method that all parameters pass through, taking the "raw" parameters as input and returning a "cleaned" version of the params dict. Downstream code should be able to rely on every value of the parameter dict being a string or a useful exception being raised if a parameter value cannot be converted.
The "clean" method should be called inside the make_request method, in about the same spot as the current datetime validation code (the call to the "clean" method should replace that validation, in fact).

At time of writing, I'm busy with test methods, day job, and home stuff. If anyone else wants to pick this off, feel free to do so.

thank you @GriceTurrble for the great post.
My solution is simple:
def clean_extra_data(extra_data):
    for key, value in extra_data.items():
        if 'date' in key.lower():
            assert isinstance(value, (datetime.datetime, datetime.date))
            extra_data[key] = value.isoformat()
        else:
            assert isinstance(value, str)
    return extra_data

thanks, i will fix it.

I tried to use duck typing. So it allows more inputs.
The date validation now fails independent from the conversion.
Maybe it's a nice to have. It also accepts user defined objects with a method isoformat.
If not, change it to, check for valid datetime types just before isoformat.
class InputError(Exception):
    def __init__(self, key, value, dtype):
        self.message = 'the parameter: {}, expected a value of type {}'\
            ', got: {} with type {}'.format(key, dtype, value, type(value))

    def __str__(self):
        return repr(self.message)

def validate_userinput(extra_data):
    for key, value in extra_data.items():
        # tests allow us to run isoformat in extra_data_enc
        if isinstance(value, datetime.time):
            raise InputError(key, value, dtype='datetime.time')
        datekeywords = ['date', 'before', 'after']
        dtype = (datetime.datetime, datetime.date)
        if any([x in key.lower() for x in datekeywords]):
            if not isinstance(value, dtype):
                raise InputError(key, value, dtype)

def clean_extra_data(extra_data):
    extra_data_enc = dict()
    for key, value in extra_data.items():
        try:
            value = str(value.isoformat())
        except (AttributeError, SyntaxError):
            """not a date"""
            pass
        try:
            int(value)
            value = str(value)
        except ValueError:
            """not an integer"""
            pass
        try:
            value.lower() +value + ''
        except:
            """final test: not a string"""
            raise InputError(key, value, str)
        extra_data_enc[key] = quote(value, safe='-_.~')

    return extra_data_enc

let me run the tests. Will come back later.

i dropped the validation part, since it's a big decision if to validate. And not so easy.
the tests are really helpful.
Since we do some cleaning and all parameter are strings.
Should i modify the tests:
end_date = datetime.datetime(2018, 4, 30, 23, 59, 59)
self.assertEqual(params['EndDate'], '2018-04-30T23%3A59%3A59')
self.assertEqual(params['Acknowledged'], 'True')

in many cases there is no change.
@GriceTurrble

I mentioned it a bit in the notes of your PR for this issue, at least in terms of the boolean values. I think we should be passing all bools as either "true" or "false", so tests would need an update to match that expectation (tip: update the tests first, then make the code pass the tests :) ).
The datetime strings are fine, either as datetime.datetime.utcnow() passed through .isoformat() or as a hard-coded date, as you've provided. Either one should pass just fine. I would have made a note about consistency in test code, but stopped myself, since test code doesn't really require consistency in structure: all it needs is a clear outline per-test of what's expected for output, and that the build can pass those tests.

While trying to understand the mws/utils package.
I will look for some more improvements.
Like this
https://github.com/python-amazon-mws/python-amazon-mws/blob/77a116f26d4578813ae8a73420e2e88f00d2d4f2/mws/utils.py#L274

#67 merged: issue resolved. Thank you kindly.


Bleak theme

Hello,
I've ported another theme to Hugo, please add it (if you want).
Happy new year !
https://github.com/Zenithar/hugo-theme-bleak

Nice! Added in bdd25f6


Release notes URL for plugins

So I noticed that there was an update for Phoenix Core Services today and I usually like to read the release notes to see why I'm upgrading. The release notes are a URL. I don't have any particular issues with that other than the fact that you can't open a URL in the UI. I was thinking that we could add something so that if the release notes is solely a URL or we could even just add a new field for extra clarity, it will be downloaded, verified to not be some kind of binary, then displayed as the Release Notes.
I might never get around to this, but this might be some low hanging fruit. I don't want people thinking that every time I post an issue, I'm adding a feature. :)

That sounds great... That was my intention actually.  I'm pretty bad at
updating the plugin XML and the change log so I decided to just point to a
URL.  I was thinking that the plugin system could do as you suggested or
maybe the plugin repo could inject the release notes automatically... But
whenever the case I don't want to update 2 files 😀
On Thu, Feb 23, 2017, 9:05 PM Joseph Shuttlesworth<EMAIL_ADDRESS>wrote:

So I noticed that there was an update for Phoenix Core Services today and
I usually like to read the release notes to see why I'm upgrading. The
release notes are a URL. I don't have any particular issues with that other
than the fact that you can't open a URL in the UI. I was thinking that we
could add something so that if the release notes is solely a URL or we
could even just add a new field for extra clarity, it will be downloaded,
verified to not be some kind of binary, then displayed as the Release Notes.
I might never get around to this, but this might be some low hanging
fruit. I don't want people thinking that every time I post an issue, I'm
adding a feature. :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAfKS3kO7ybrECbxg4AosNeuthOMHeGks5rfjrqgaJpZM4MKvVI
.

--
Sent from Android

I know how you feel about repetitive release notes posting. I'm not sure I would want the plugin repo pulling in the release notes because the release notes could go stale if you change/fix something after you updated the repo.

Yeah, that's why I was thinking that may the repo or even the plugin
packager could fill it in.... Might be better if I did it in the plugin
packager.
On Thu, Feb 23, 2017 at 10:36 PM Joseph Shuttlesworth <
<EMAIL_ADDRESS>wrote:

I know how you feel about repetitive release notes posting. I'm not sure I
would want the plugin repo pulling in the release notes because the release
notes could go stale if you change/fix something after you updated the repo.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262#issuecomment-282195180, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABAfKV5Pv7SojklPHbyt-S2UXLZnk7fIks5rflA7gaJpZM4MKvVI
.

--
Sent from Android

But having a release notes url, even it could be newer than the binary, is
still pretty common, since the release notes has the version header.
Bintray works the same way, now that I think about it... it uses the
changelog url, but it will show the same changelog for any release you
pick.  It's up to you to figure out which version you are reading it for :)
Sean.
On Fri, Feb 24, 2017 at 7:02 AM Sean Stuckless<EMAIL_ADDRESS>wrote:

Yeah, that's why I was thinking that may the repo or even the plugin
packager could fill it in.... Might be better if I did it in the plugin
packager.
On Thu, Feb 23, 2017 at 10:36 PM Joseph Shuttlesworth <
<EMAIL_ADDRESS>wrote:
I know how you feel about repetitive release notes posting. I'm not sure I
would want the plugin repo pulling in the release notes because the release
notes could go stale if you change/fix something after you updated the repo.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262#issuecomment-282195180, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABAfKV5Pv7SojklPHbyt-S2UXLZnk7fIks5rflA7gaJpZM4MKvVI
.
--
Sent from Android

--
Sent from Android

I'd rather not do this on the plugin server because it could open up other
issues with what the contents of that URL are. We do have an internal
method now for getting the contents of a URL as a String, so we could
easily expose that in the API and then in the STV just check if the release
notes are a URL or not....and if they are, then download it from there and
display it.
On Fri, Feb 24, 2017 at 4:06 AM, Sean Stuckless<EMAIL_ADDRESS>wrote:

But having a release notes url, even it could be newer than the binary, is
still pretty common, since the release notes has the version header.
Bintray works the same way, now that I think about it... it uses the
changelog url, but it will show the same changelog for any release you
pick. It's up to you to figure out which version you are reading it for :)
Sean.
On Fri, Feb 24, 2017 at 7:02 AM Sean Stuckless<EMAIL_ADDRESS>wrote:

Yeah, that's why I was thinking that may the repo or even the plugin
packager could fill it in.... Might be better if I did it in the plugin
packager.
On Thu, Feb 23, 2017 at 10:36 PM Joseph Shuttlesworth <
<EMAIL_ADDRESS>wrote:
I know how you feel about repetitive release notes posting. I'm not sure
I
would want the plugin repo pulling in the release notes because the
release
notes could go stale if you change/fix something after you updated the
repo.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262#issuecomment-282195180,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABAfKV5Pv7SojklPHbyt-
S2UXLZnk7fIks5rflA7gaJpZM4MKvVI>
.
--
Sent from Android

--
Sent from Android
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262#issuecomment-282276334, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDLKz4DQUBDan6TKiMRkbnYPqkGVgks5rfsfHgaJpZM4MKvVI
.

--
Jeffrey Kardatzke
<EMAIL_ADDRESS>Google, Inc.

Wouldn't the easiest fix just be to build an entire web browser into sagetv?  :-)

Yeah, the hardest part about that is doing the navigation of a web browser
with a remote...I'm sure we've all used a system that tried to do that and
experienced the epic fails that occur. :)
On Fri, Feb 24, 2017 at 10:56 PM, Joseph Shuttlesworth <
<EMAIL_ADDRESS>wrote:

Go for it. :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/262#issuecomment-282465609, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDPlXh0JwanSXuvgR8lWVYtOsIokSks5rf9CrgaJpZM4MKvVI
.

--
Jeffrey Kardatzke
<EMAIL_ADDRESS>Google, Inc.

Hey, didn't WebTV still exist until like 2014 or something insane like that?