Bump version: 0.6.9 → 0.7.0

Coverage remained the same at 96.245% when pulling d6e06a6177308faa8b80ff442033fe0de823ab20 on new_br into 2e99646898cab24443a874a172095f9f09243ab2 on master.


Support for Vector data type, distance search

Vector data type would be nice for some applications. Also being able to return results based on vector distance.
AI applications would benefit from this. Got one project now, where the 128-dimensional vector are stored as json object, but querying these are really hard at the moment. Now we need to fetch the complete dataset, calculate distance on the server/client and return a subset as close match to the user.

At least for now, this is out of the scope for v1.
If anyone want to works on it, feel free to outline your implementation idea and/or open a PR and I'll try to review it.


Add info about internationalization / localization

Fixed Issues

Fixes https://github.com/Expensify/Expensify/issues/152157
Tests
No
QA Steps
No

OH Tim is ooo

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging in version: 1.0.68-5🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production in version: 1.0.73-3🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


New fields on exciting tables is now shown in BREAD editor

Laravel Version: 5.4
Voyager Version: 0.11.10
PHP Version: 7.1
Database Driver & Version: Mysql

Description:
New fields added to the database after bread was created should appear in the bread editor.
Currently adding new fields to a table is not shown in the bread editor.
Steps To Reproduce:
install with dummy data, try adding a new field on an exciting table, the new field is not shown in the bread editor

After you add new fields to a table, you will need to Edit BREAD for that table and hit save for the changes to take effect.

@abdgad, he was saying that they're not appearing in the BREAD editor at all.  Would the save action create those entries?

@abdgad In my case, after new fields are added, the new columns' indexes would not appear.
Same as @Drivez , I think it's a bug after order field added in 0.11.10.
The error message:

Finally there's a workaround:
Delete the previous BREAD record first and set it again.
However it would cause risks to make wrong settings when we setup new BREAD informations.
As my point of view, new added columns such as added by migrations or by Voyager Admin, they should checked if they didn't have any record in the BREAD.
Now the columns in BREAD editing pages seem to be generated according the BREAD records, however some of them might not be in the records.

https://github.com/the-control-group/voyager/commit/5461692d0e51571c3e6df059e6e2eff461910e95
It seems to be fixed(not in 0.11.10 anyway :P)
It might be fixed in version 0.11.11

Sorry for the misunderstanding.
@marktopper @fletch3555 we should tag a release.

Any fix for this yet?

I'm facing the same problem, any field added after creating the BREAD does not show. If you try to order the existing fields, it wont work, because it's missing the field in data_rows
I've notice that the order in the data_rows is always set to "1". Shouldn't this order be incremented? When the bread is created, it should give the order=order+1 to each field. Or at least give the order = index of the foreach that inserts the content in the data_rows table...
The solution is to manually add the new field created in the table data_rows. this way the bread and order works fine
I using 0.11.10. This problem does not happen in version 0.11.9

The "fix" is to delete the bread, and create it again... Not a fix, but at least you wont loose any data

Are there any immediate plans to (really) fix this?

Did anyone confirm this was/wasn't fixed in 0.11.11?
If not, you should be able to just open and save the bread without making any changes (after adding the fields obviously).  I agree it's still an issue that would need to be fixed though.

Has 0.11.11 been released yet?

Apologies, I thought it had.  Please test with the master branch. You can change composer to use "dev-master" as the version

Looks good. Thanks.

Closing this as it's been confirmed fixed in master.  If it hasn't made it to a release yet (unlikely), it will soon.

@fletch3555 still the same problem in laravel 5.5.1 voyager dev-master


Onyx.update doesn't apply updates in order with set and merge

Problem
Onyx.update doesn't apply updates in order when mixing set and merge
If Onyx.update is called with an update to merge an object on a key, and then the next update removes it by calling set with the value as null, then the updates are not applied in order. The Onyx.set update is applied first and the end state of the system is that the key is not removed.
Also, subscribers are notified with each update. In some cases we want to only notify subscribers with the correct end state of the system.
Example
I found this to be the root problem of this app issue https://github.com/Expensify/App/issues/15550. Here is the user action and results.

Action Performed:

Turn off network
Create a workspace
Delete the workspace
Turn on network
Notice that the deleted workspace blinks

Expected Result:
The deleted workspace should not be visible
Actual Result:
The deleted workspace blinks

After we go back online and the sequential queue finishes processing, we call Onyx.update with a list of queued updates. We have already optimistically created and deleted the policy, and the list of updates includes creating and deleting the policy from the network responses. We create the policy with a call to merge and delete it with a call to set. To test I added some log lines and ran the following code in the JS console. You can see that the set call is applied first when it should be applied second.

Logs
Onyx.update([
    {
        onyxMethod: 'merge',
        key: 'policy_BEB826F4F75AD818',
        value: {
            id: 'BEB826F4F75AD818',
            name: "Expensifail's Workspace 2",
            role: 'admin',
            type: 'free',
            owner<EMAIL_ADDRESS>            outputCurrency: 'USD',
            employeeList: [
                {
                    email<EMAIL_ADDRESS>                    forwardsTo: '',
                    role: 'admin',
                    submitsTo<EMAIL_ADDRESS>                },
            ],
        },
    },
    {
        onyxMethod: 'set',
        key: 'policy_BEB826F4F75AD818',
        value: null,
    },
]);
web.development.js:1083 [Onyx] top of merge, key = policy_BEB826F4F75AD818 value =  {id: 'BEB826F4F75AD818', name: "Expensifail's Workspace 2", role: 'admin', type: 'free', owner<EMAIL_ADDRESS>…}
web.development.js:941 [Onyx] top of set, key = policy_BEB826F4F75AD818 value =  null
web.development.js:891 [Onyx] top of remove
web.development.js:1101 [Onyx] merge method calling set, modifiedData = {id: 'BEB826F4F75AD818', name: "Expensifail's Workspace 2", role: 'admin', type: 'free', owner<EMAIL_ADDRESS>…}
web.development.js:941 [Onyx] top of set, key = policy_BEB826F4F75AD818 value =  {id: 'BEB826F4F75AD818', name: "Expensifail's Workspace 2", role: 'admin', type: 'free', owner<EMAIL_ADDRESS>…}
web.development.js:962 [Onyx] set method called cache.set key =  policy_BEB826F4F75AD818 value = {id: 'BEB826F4F75AD818', name: "Expensifail's Workspace 2", role: 'admin', type: 'free', owner<EMAIL_ADDRESS>…}
PolicyUtils.js:10 [policy_BEB826F4F75AD818] subscriber callback, val =  null
PolicyUtils.js:10 [policy_BEB826F4F75AD818] subscriber callback, val =  {id: 'BEB826F4F75AD818', name: "Expensifail's Workspace 2", role: 'admin', type: 'free', owner<EMAIL_ADDRESS>…}
Promise {<pending>}

Why it's important
Applying all updates from the Networks responses at once fixes the "replay effect" by updating the App with the proper end state as determined by the server without replaying any intermediate and redundant updates. If we applied these updates as soon as each API response resolved, then we would see each optimistic action we took while offline replayed in the UI.
However, because of this bug we end up in the wrong state and so the replay effect bug is not solved.
Solution
Modify Onyx.update so that it always applies all updates in order. Also, as an additional improvement, prevent notifying subscribers until all the updates have been applied.

Can we add a practical real world example of how we are getting into this situation? I think it would help everyone understand exactly what is happening and encourage more participation.

we end up in the wrong state because there is a call to create an object and then remove it

e.g. what object is this? What are we actually trying to do?

Updated

Hey @neil-marcellini there's maybe some overlap between this issue and https://github.com/Expensify/App/issues/15321. Check out this comment for my latest thoughts.
Solution C in that comment describes adding a queue for Onyx writes that's shared across tabs. That would also maybe apply updates in order.

That's an interesting problem, but I think it's somewhat different. It would probably help both problems if each update in the list passed to Onyx.update was applied and notified about in order.

It's definitely a different problem but having a FIFO write queue for Onyx seems like a potentially overlapping solution for both? Someone from Callstack is investigating already, so I just don't want us duplicating efforts.

Ah I see good. I'll read up on what's happening there before I make a proposal.

@neil-marcellini - is there an update here?

No 🙈 I haven't had time. I have 4 other weekly issues that are higher priority. We can discuss if it should be higher priority though.

@neil-marcellini gentle bump for an update, just for https://github.com/Expensify/App/issues/15550 which is on hold for this. Thanks in advance!

I just tested again and the problem is still reproducible by pasting the following in the console in NewDot. The expected result is that policy_BEB826F4F75AD818 should not be in indexedDB, but it is.
Onyx.update([
    {
        onyxMethod: 'merge',
        key: 'policy_BEB826F4F75AD818',
        value: {
            id: 'BEB826F4F75AD818',
            name: "Expensifail's Workspace 2",
            role: 'admin',
            type: 'free',
            owner<EMAIL_ADDRESS>            outputCurrency: 'USD',
            employeeList: [
                {
                    email<EMAIL_ADDRESS>                    forwardsTo: '',
                    role: 'admin',
                    submitsTo<EMAIL_ADDRESS>                },
            ],
        },
    },
    {
        onyxMethod: 'set',
        key: 'policy_BEB826F4F75AD818',
        value: null,
    },
]);

One of the resulting problems in App is still reproducible, which likely means more are. I'm going to mark this external and recruit someone from Margelo to work on it.
https://github.com/Expensify/react-native-onyx/assets/26260477/8426244a-5d08-4532-9432-2926c8f43c28

Asked in Slack here.

going to take a look at this 👍

PR merged! Please put up another to update the Onyx version in App.

❗ 🔥 Heads up, I'm going to be OOO working 0% from 1/1-1/12/24. I'll be back on 1/15/24. I'm planning to work 50% tomorrow 12/29. Please feel free to un-assign, re-assign, whatever. When I return I'll pick back up whatever I can and do my best to GSD in order of priority. I will also post all of my assigned issues in #engineering-chat in Slack to try to recruit volunteers.

This is done! https://github.com/Expensify/App/issues/15550#issuecomment-1863400436


Question/Clarification/Bug - ACK-Controllers reconciliation after getting to desired state

Describe the bug
ACK-Controllers don't override manual changes (e.g aws-console) after resource is getting to the desired state, even after few days of waiting.
There was a similar issue here: https://github.com/aws-controllers-k8s/community/issues/1288
The answer says that ACK-Controllers are using K8s API server default requeue time (described as 8 hours in this answer), but when I tested it, I waited few days and the controllers still didn't requeued.
I've seen this code here: https://github.com/aws-controllers-k8s/s3-controller/blob/b23f9784d06baf6cbafaaf751734ea3b7aae9613/pkg/resource/bucket/manager_factory.go#L85
Does it mean that the controller would never requeued unless I'll restart the pod or rollout the deployment? If it is, do you plan in the future to enable users to control this value?
Thanks,
Shachar.
Steps to reproduce
Tested for S3 controller (but same for other controllers such as ElastiCache)

Create S3 Bucket with controller
Wait for Bucket resource get to desired state
Change Bucket property manually via AWS console
Wait few days
S3-Controller didn't override manual changes
Only when I manually restarted the s3-controller, manual changes were override by s3-controller as expected.

Expected outcome
S3-Controller should override manual changes after Bucket getting to desired state.
Environment

Kubernetes version: v1.22.7
Using EKS: No
AWS service targeted: S3-Controller v0.1.0

@ShacharMalachi , thanks for bringing this to our attention. I will reproduce this and report back on this issue. I will try to validate that requeue happens at 8 hour interval.

I've seen this code here: https://github.com/aws-controllers-k8s/s3- controller/blob/b23f9784d06baf6cbafaaf751734ea3b7aae9613/pkg/resource/bucket/manager_factory.go#L85

This code should not be overriding the k8s controller runtime requeue behavior.

@ShacharMalachi , thanks for bringing this to our attention. I will reproduce this and report back on this issue. I will try to validate that requeue happens at 8 hour interval.

I've seen this code here: https://github.com/aws-controllers-k8s/s3- controller/blob/b23f9784d06baf6cbafaaf751734ea3b7aae9613/pkg/resource/bucket/manager_factory.go#L85

This code should not be overriding the k8s controller runtime requeue behavior.

Hi @vijtrip2
Any news regarding trying to reproduce this issue?
Thanks,
Shachar.

Hi @ShacharMalachi , I was able to reproduce the issue. We will be working on fixing this bug ASAP.

Hi @ShacharMalachi , I found the issue and submitted a fix. I will let you know when new release of the s3 controller is out, and you can validate the fix too. Thanks!

Hi @ShacharMalachi , I found the issue and submitted a fix. I will let you know when new release of the s3 controller is out, and then you can validate the fix too.

Hi @vijtrip2, Thank you very much for the quick fix, I truly appreciate it!

Hi @ShacharMalachi , you are welcome!
The new controller image and helm chart are published, and they should perform periodic drift detection every 10 hours to reconcile the desired state. https://gallery.ecr.aws/aws-controllers-k8s/s3-chart
We chose 10 hours because that is the default for upstream controller-runtime as well.

The default value for s3 resource manager factory is 0 which means the resource will not be re-synced.
https://github.com/aws-controllers-k8s/s3-controller/blob/main/pkg/resource/bucket/manager_factory.go#L82
// RequeueOnSuccessSeconds returns true if the resource should be requeued after specified seconds
// Default is false which means resource will not be requeued after success.
func (f *resourceManagerFactory) RequeueOnSuccessSeconds() int {
	return 0
}

I had to add the following arguments to the s3 controller deployment to make it re-sync resources every 180 seconds.
        - --reconcile-resource-resync-seconds
        - "Bucket=180"

@MohammadAlavi1986 RequeueOnSuccessSeconds is only leveraged if it returns a value > 0 (the function is generated). By default the controller requeues every 10hours if one of tweaking options is not specificed (--reconcile-resource-resync-seconds). Here is the part of code that decides which parameter to use https://github.com/aws-controllers-k8s/runtime/blob/main/pkg/runtime/reconciler.go#L1084-L1132


Create user-defined plans in svcat

This command copies an existing plan into a new user-defined plan. See https://github.com/kubernetes-incubator/service-catalog/pull/2190 as an example of how to implement this, as it is very similar (creating classes instead of plans).
$ svcat create plan NAME --from EXISTING_NAME [--cluster|--namespace]

NAME - Required. The new plan name.
--from EXISTING_NAME - Required. Name of an existing plan to copy.
--cluster - Optional. Specifies that a cluster-scoped plan should be created. By default namespace-scoped plans are created. When this flag is set, namespace is ignored.
--namespace - Optional. Overrides the current namespace to specify the namespace of the namespace-scoped plan.

See proposal for additional context. There will be an issue later to add support for default parameters, etc, so for now this command isn't terribly exciting. 😀

I would like to work on this!

I would like to work on this!
@carolynvs, would it make to split this into two PRs - one for cluster scoped plans and another one for namespace scoped plans - the way it was done for classes?

We split the other one into 2 PRs for cluster scoped vs namespace scoped only because at the time, the namespaced broker feature was incomplete. Going forward, any PR that affects brokers, plans or classes should address both scopes in the same PR.

/assign


Handling  HTTP errors

I have following function to get a specific table from Airtable or get it from local database in case of API limit / connection issues .. etc :
def get_airtable(table_name, base_key='xxx' , api_key='xxx'):
    try:
        print('try !')
        table = Airtable(base_key, table_name, api_key='xxx')
    except: #Offline ? Auth ? Need more data.
        print('except !')
        table = get_table(table_name)
    finally:
        return table

The issues is if something wrong like I mentioned above, the try except will never work and I get this Error message for example if the api key is wrong.
HTTPError                                 Traceback (most recent call last)
~\Anaconda3\lib\site-packages\airtable\airtable.py in _process_response(self, response)
    141         try:
--> 142             response.raise_for_status()
    143         except requests.exceptions.HTTPError as exc:

~\Anaconda3\lib\site-packages\requests\models.py in raise_for_status(self)
    939         if http_error_msg:
--> 940             raise HTTPError(http_error_msg, response=self)
    941

HTTPError: 401 Client Error: Unauthorized for url: https://api.airtable.com/v0/xxx/categories

During handling of the above exception, another exception occurred:

HTTPError                                 Traceback (most recent call last)
<ipython-input-24-e600241f16c9> in <module>
     21     print(type(categories))
     22     rows = categories.get_iter()
---> 23     for row in rows:
     24         for record in row:
     25             ls.append(record['fields']['name'])

~\Anaconda3\lib\site-packages\airtable\airtable.py in get_iter(self, **options)
    235         offset = None
    236         while True:
--> 237             data = self._get(self.url_table, offset=offset, **options)
    238             records = data.get("records", [])
    239             time.sleep(self.API_LIMIT)

~\Anaconda3\lib\site-packages\airtable\airtable.py in _get(self, url, **params)
    173     def _get(self, url, **params):
    174         processed_params = self._process_params(params)
--> 175         return self._request("get", url, params=processed_params)
    176
    177     def _post(self, url, json_data):

~\Anaconda3\lib\site-packages\airtable\airtable.py in _request(self, method, url, params, json_data)
    169     def _request(self, method, url, params=None, json_data=None):
    170         response = self.session.request(method, url, params=params, json=json_data)
--> 171         return self._process_response(response)
    172
    173     def _get(self, url, **params):

~\Anaconda3\lib\site-packages\airtable\airtable.py in _process_response(self, response)
    159                 if "error" in error_dict:
    160                     err_msg += " [Error: {}]".format(error_dict["error"])
--> 161             raise requests.exceptions.HTTPError(err_msg)
    162         else:
    163             return response.json()

HTTPError: 401 Client Error: Unauthorized for url: https://api.airtable.com/v0/xxx/categories [Error: {'type': 'AUTHENTICATION_REQUIRED', 'message': 'Authentication required'}]

As far as I understand the issue is because at the _process_response(self, response) function it never return if HTTP error happened ,so my try except is useless.
My work around is to:
1- adjust the file itself to give return
2- Open for suggestion to catch the errors.

sorry I don't understand the issue.
are you staying your try catch is not catching errors raised by the library?

closing this as not enough info is provided.
feel free to reopen


Rename Bool class to Boolean to fix PHP 7.

"Cannot use 'Bool' as class name as it is reserved".
Rebased on dev branch.

You might want to add '7.0' to the travis config. I can send another PR if you want.

after this one I will look at adding 7.0 to travis.  Thanks I will get this in today.


documentation on Custom Social Element snippet is missing

Describe the bug
In the https://documentation.mjml.io/#mj-social section, in the "Custom Social Element" section, it says "You can add any unsupported network like this:" And no snippet is appended.
I found the snippet in the .md file, lines 136-140, but it doesn't render the snippet on the docs website.
To Reproduce
Steps to reproduce the behavior:

Go to https://documentation.mjml.io/#mj-social
Scroll down to "Custom Social Element"
See lack of snippet after "You can add any unsupported network like this:"

Expected behavior
I expected this snippet to render / be there:
<mj-social-element href="url" background-color="#FF00FF" src="path-to-your-icon">
  Optional label
</mj-social-element>

Screenshots

The code is on the right side like every other code snippets. Slate make this hard to alignOn 28 Aug 2023, at 13:30, Martz @.***> wrote:
Describe the bug
In the https://documentation.mjml.io/#mj-social section, in the "Custom Social Element" section, it says "You can add any unsupported network like this:" And no snippet is appended.
I found the snippet in the .md file, lines 136-140, but it doesn't render the snippet on the docs website.
To Reproduce
Steps to reproduce the behavior:
Go to https://documentation.mjml.io/#mj-social
Scroll down to "Custom Social Element"
See lack of snippet after "You can add any unsupported network like this:"
Expected behavior
I expected this snippet to render / be there:

Optional label

Screenshots
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


feature: add x-trap

Hi This pull requests adds alpines x-trap to handle the focus for models.
It is my understanding that the alpine plugins do not work with Alpine v2 and therefore it could no longer be supported.

@PhiloNL while these changes are not published in a new release, would you like to publish a minor release fixing it like Jetstream before using x-trap? https://github.com/laravel/jetstream/pull/757
I can create the PR

Hi @dtorras
Feel free to create a PR. This will be a mayor release, though as it is a breaking change given it requires an additional alpine plugin.


Add fmtlib license

Summary
Add the license for the fmt library.
Test Plan
LemLib works.
Additional Notes
Sorry fmt devs!

Download the template for this pull request:

[!NOTE]
This is auto generated from Add Template to Pull Request

via manual download<EMAIL_ADDRESS>via PROS Integrated Terminal:

curl -o<EMAIL_ADDRESS>https://nightly.link/LemLib/LemLib/actions/artifacts/1495157230.zip;
pros c fetch<EMAIL_ADDRESS>pros c apply<EMAIL_ADDRESS>rm<EMAIL_ADDRESS>

merging this in, as it's just a text file.


Upgrade electron in package.json and yarn.lock

Electron 13.X was giving me trouble in https://github.com/free2z/free2z/pull/12/files#diff-13bd9d7a30bf46656bc81f1ad5b908a627f9247be3f7d76df862b0578b534fc6
Apparently most people are using a global install of electron and some are already using 18.X with success. Should double check that this doesn't break anything.

I am going to test this now.

Ahh...  this is blocked on commit signatures.


ASP.NET SignalR Support

This is an issue to track supporting ASP.NET SignalR as part of the SignalR Azure Service.

[ ] 1. Service side

[ ] Reconnect doesn’t work, we need to figure out what to do here. Do we indeed reconnect or do you return a non 200 status code so the client doesn’t reconnect.
[ ] We need to do message framing on the way in and on the way out (this one needs a bit more explanation)
[ ] Negotiate settings are hard coded, how do we want to handle the fact that settings set by the app isn’t propagated to the client (might require a SignalR change)
[ ] Do we copy all of the transport code from SignalR itself into the SDK to make this work? If the changes are in the core transport layer in SignalR. How is the service going to get these changes?

[ ] 2. SDK side

How is this issue tracking. What is the ETA for Azure SignalR support on .NET Framework?

Is there any update?

We will have this feature public preview in Azure Service late this month. The announcement https://blogs.msdn.microsoft.com/webdev/2018/09/17/the-future-of-asp-net-signalr/ have some more details of the timeline.

Thanks For this :)

2.4.0 preview for ASP.NET SignalR is released, which contains the support for Azure SignalR Service, please have a try.
https://blogs.msdn.microsoft.com/webdev/2018/10/04/announcing-asp-net-signalr-2-4-0-preview-1/


Echo should not be used

I don't think an echo should be used to output info while sending mails.
In the most recent release (0.0.5), there is a lot of output.
This is not needed. I use this in a cron job and now I get an email every minute with the message 'no email to send' ...

Thanks for pointing this out and fixing it. New version released.


Multiple tubes or multiple workers on the same tube?

Hi,
I experienced some memory issue regarding the creation of a lot of tubes (around 50 tubes).
I run beanstalkd on a t2.small ec2-istance (2 GB of RAM and low thought-put, ubuntu 14.04 LTS).
In my scenario I have around 50 tubes and workers attached, those workers use PHP with pda/pheanstalk. The average of messages is really low (20-25 message a minute) but it seems that I have a lot of disconnection and beanstalkd process consume a lot of virtual memory (not php workers, but beanstalkd itself).
In order to design well the application, I'm considering to have less tubes (with more average per tube), also because it is really easy to scale out workers, but not so easy to scale out beanstalkd.
I also consider it due to open connections: less workers means less connection (maybe also less memory?).
Am I wrong for considering to keep less tubes and add more workers per tube?
Thank you in advice!
Edoardo

A connection can watch more than one tubes.

Thanks :+1: ! I forgot to close this issue.


Could you statically link with cc

Tried to build an example but facing these issues:
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.nvim-linux64/bin:/root/.foundry/bin:/root/.huff/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcOFwehH/symbols.o" "/root/repos/bots/dexy/bot/target/release/deps/dexy-95f118e3ef9e29e9.dexy.864cc12664bb441d-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/root/repos/bots/dexy/bot/target/release/deps" "-L" "/root/repos/bots/dexy/bot/target/release/build/c-kzg-aeee49dd8266e254/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/blst-2c7d85070746cc32/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/ring-a9241130804d937d/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/secp256k1-sys-5a117361a56f802d/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/zstd-sys-132f9bf75435cefa/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/reth-mdbx-sys-3a5a1fd324017fd6/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/strategy-78bd32dd00137d6e/out" "-L" "/root/repos/bots/dexy/bot/target/release/build/tikv-jemalloc-sys-e46e1e79fbdedced/out/build/lib" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustcOFwehH/libstrategy-dcf672f15cf63c52.rlib" "/tmp/rustcOFwehH/libreth_mdbx_sys-2f7ae91b6954939b.rlib" "/tmp/rustcOFwehH/libzstd_sys-f47275f6b83e33be.rlib" "/tmp/rustcOFwehH/libsecp256k1_sys-b29e003dbf06f140.rlib" "/tmp/rustcOFwehH/libring-2241961d7f127131.rlib" "/tmp/rustcOFwehH/libc_kzg-ddfeccd164d450f0.rlib" "/tmp/rustcOFwehH/libblst-2269550becd58e9f.rlib" "/tmp/rustcOFwehH/libtikv_jemalloc_sys-3ec8ee885f74f19f.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d9076ee5964191bf.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/root/repos/bots/dexy/bot/target/release/deps/dexy-95f118e3ef9e29e9" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: /usr/bin/ld: /root/repos/bots/dexy/bot/target/release/deps/dexy-95f118e3ef9e29e9.dexy.864cc12664bb441d-cgu.0.rcgu.o: in function `strategy::simulators::register_handler::{{closure}}':
          dexy.864cc12664bb441d-cgu.0:(.text._ZN8strategy10simulators16register_handler28_$u7b$$u7b$closure$u7d$$u7d$17hb92fb93cfd549d23E+0x1b1): undefined reference to `lil_dexy'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib)

Could you please elaborate a bit more? What are you trying to do?
You can check out how to link statically a compiled code in the runner example

Could you please elaborate a bit more? What are you trying to do? You can check out how to link statically a compiled code in the runner example

thats the weird thing, i pretty much copy pasted runners example...

Could you please elaborate a bit more? What are you trying to do? You can check out how to link statically a compiled code in the runner example

All i wanna do is to integrate revmc into my sim engine that was based on revm

Could you please share the code? I updated the runner example to also have a main.rs, if you can run that with cargo run -p revmc-examples-runner then you can also integrate it into your project.

Could you please share the code? I updated the runner example to also have a main.rs, if you can run that with cargo run -p revmc-examples-runner then you can also integrate it into your project.

sorry ser, im retarded, i hade a type in a name for linking... l and I ffs :D


TypeError: Cannot read properties of undefined (reading 'update_id') in grammy bot.js file when using webhooks

I'm building a telegram bot using grammy in node.js, and I'm getting the following error:
TypeError: Cannot read properties of undefined (reading 'update_id')
The error is being caused by line 182, column 43 in the "bot.js" file located in the "node_modules/grammy/out/" directory.
Here is the code that is causing the error:
debug(Processing update ${update.update_id});  // node_modules/grammy/out/bot.js:182

This error only occurs when I am using webhooks to receive updates from Telegram. When I use long polling, the bot runs without any errors.
I'm not sure what is causing this error or how to fix it. I've tried searching for solutions online, but I haven't been able to find anything helpful. I would really appreciate any advice or guidance on how to resolve this issue.
Steps to Reproduce:

Install grammy in a node.js project
Set up a telegram bot using grammy with webhooks enabled
Run the bot and observe the error message

Expected Result:
The bot should run without any errors, even when using webhooks to receive updates.
Actual Results:
The error "TypeError: Cannot read properties of undefined (reading 'update_id')" is thrown when using webhooks to receive updates.
Versions:

Node.js: 18.12.1
Grammy: 1.15.3

You're using the wrong webhook adapter. See https://grammy.dev/guide/deployment-types.html#web-framework-adapters

You're using the wrong webhook adapter. See https://grammy.dev/guide/deployment-types.html#web-framework-adapters

I'm using express to create server and to listen routes.
What I did is
import express from 'express'
import bot from './bot'

const app = express()

app.use('/bot', webhookCallback(my_bot_instance, 'express'))

app.listen(process.env.PORT || 8080)

Sorry, My bad.
I forgot to use express.json().
Updated code (That works!):
import express from 'express'
import bot from './bot'

const app = express()
app.use(express.json())

app.use('/bot', webhookCallback(bot, 'express'))

app.listen(process.env.PORT || 8080)


Setting max_zoom in constants.ts doesn't appear to change max zoom allowed

I am trying to reduce the max_zoom value from 3000% to ~500% for my application. I found the 'max_zoom' parameter in excalidraw/packages/excalidraw/constants.ts, and have forked/ cloned and run 'npm run build' and 'npm start' to test locally. I am still able to zoom to 3000% on my local version.
packages/excalidraw/constants.ts:
export const MAX_ZOOM = 5.0; #

I've confirmed in my chrome dev tools that the new 'constants.ts' is being loaded, and shows the MAX_ZOOM of 5.

I can't find anywhere else that would control max zoom.

Okay, I found where the bug is, the value of 30 was hardcoded rather than using the constant.
packages/excalidraw/scene/zoom.ts
Code with Bug:
import { MIN_ZOOM } from "../constants";
import type { AppState, NormalizedZoomValue } from "../types";

export const getNormalizedZoom = (zoom: number): NormalizedZoomValue => {
  return Math.max(MIN_ZOOM, Math.min(zoom, 30)) as NormalizedZoomValue;
};

Should be:
import { MIN_ZOOM, MAX_ZOOM } from "../constants";
import type { AppState, NormalizedZoomValue } from "../types";

export const getNormalizedZoom = (zoom: number): NormalizedZoomValue => {
  return Math.max(MIN_ZOOM, Math.min(zoom, MAX_ZOOM)) as NormalizedZoomValue;
};

I can do a pull request if needed, but this might be easier for one of the maintainers to do. Thoughts?


DFS with stack

As requested in https://github.com/TheAlgorithms/C-Plus-Plus/issues/24 I added a variant of DFS with stack

Isn't recursive implementation better than it, in terms of space?

Well, they're the same thing, more or less. With stack you just use methods push/pop but with recursion you've got a difference in runtime not significant.
The result in output, in general, is different but, if you test the algorithm with a pencil and a paper, you can see the real result (same result with a recursive DFS).
Anyway, the difference in runtime is statistically insignificant.


Design for pages where we don't check servers

E.g., chrome:// pages. Doesn't work to say 'pending' as the wait would be forever...

Since we know such pages are not blocked, we might want to just show green for servers, but perhaps with some kind of note?
Another option (below) would be to simply hide (in the content-script) the server options for such pages (I think I like this better, as the other could be misleading).

or maybe a narrower version of above...

I just collapsed the server info. I prefer to have the menu always in the same width...
https://github.com/dhowe/ChinaEye/pull/42


Restangular collection custom method polling issue

Hello. I have made angular-poller work with plain $http string, but when I tried to switch to Restangular, I have encountered an issue. Basically when the app runs, first request is sent successfully, but any request, that should occur after the interval, is not being sent, even though notifyCallback is being triggered with the same, as after the initial request, Restangular object as an argument. I am using a custom Restangular method, so maybe that is the problem? Here's my setup:
// config
RestangularProvider.addElementTransformer('users', true, function (users) {
    users.addRestangularMethod('notifications', 'get', 'notifications');
    return users;
});
// controller
notificationPoller = poller.get(Restangular.all('users'), {
    action: 'notifications',
    delay: 60000,
    smart: true
});
notificationPoller.promise.then(null, null, function (response) {
    // response is a Restangular object with a property notifications which should contain data received from the server
    $rootScope.currentUser.notifications = response.notifications;
});

As I mentioned, when I reload the page, the first request is being sent successfully. After that notifyCallback is triggered without sending a request, so argument(response) passed in is the same. Does angular-poller support custom methods for collections? Any insights would be appreciated.

Hi @simonasdev, angular-poller does support custom methods for restangular collections, and the code you posted looks fine to me. The notifyCallback should not be triggered at all if there is no new request. Is it possible that you were sending requests every 60 seconds but the server response stayed the same? Can you double check your network tab?

I double checked both server logs and network tab, requests were not being sent. It seems that the issue was in another place. In my config block, I had also set RestangularProvider.setDefaultHttpFields({ cache: true });. When I commented out this line, requests started polling correctly as expected. I don't want to disable cache for whole app, so it would be great to be able set defaultHttpFields in the angular-poller, if it is possible.

Restangular does not support caching for specific request. It would be a lot easier if it supports something like addRestangularMethod(name, operation, [path, params, headers, config, elem])... To me it does not make much sense to add defaultHttpFields or a cache field to angular-poller simply because you can already pass in cache as part of the argumentsArray to $http and $resource requests.
But you can still fix your issue without disabling cache for the whole app.
Solution1:
RestangularProvider.setFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
  if (operation === 'get' && url === 'notifications') {
    httpConfig.cache = false;
  }
  return {
    httpConfig: httpConfig
  };
});

Solution2:
myapp.factory('RestangularNoCache', function(Restangular) {
  return Restangular.withConfig(function(RestangularProvider) {
    RestangularProvider.setDefaultHttpFields({cache: false});
  });
});

// controller
notificationPoller = poller.get(RestangularNoCache.all('users'), {
    action: 'notifications',
    delay: 60000,
    smart: true
});

Let me know if that helps!

Oh. I see. Thanks for your solutions, I chose the the first one, although it needed a little bit of tweaking. Here's the final version (notice that the method should be addFullRequestInterceptor):
RestangularProvider.addFullRequestInterceptor(function (element, operation, route, url, headers, params, httpConfig) {
    if (operation === 'get' && route === 'notifications') {
      httpConfig.cache = false;
    }
    return {
      httpConfig: httpConfig
    };
});

It is working as expected. I must have overlooked this method in the docs earlier. Thanks for making this world a better place


Integration Test - Release - 2019/05/30 02:41:36

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

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


Chart widget - Enlarge Window

HI,
When I click on Enlarge button of Chart widget, the pop up window going out of screen, X & Y axis data and close button not visible on screen.
I would like to set the settings same as Identify popup window as it is display properly on center of the screen even when you maximize the popup.

Please suggest me on this.

@tmcgee I would like to add percentage suffix to each item of pie chart label.
I tried look into Chart.js and Statisticschart.js file but did not get.
Could you please suggest me on this where should I add this ?

@mayur9785 Sorry I was unable to look into this at the time. If you were able to get the Chart widget working for your needs, please close this issue.


MG-888 - Update groups SDK tests.

What type of PR is this?
This is a feature as it updates groups sdk tests.

What does this do?
This pr:

Updates tests in pkg/sdk/go/groups_test.go to use service mocks.
Refactors code in pkg/sdk/go/groups.go to throw error on missing id in function call before making request.
Exports the PageRes in pkg/sdk/go/responses.go

Which issue(s) does this PR fix/relate to?

Related Issue #888

Have you included tests for your changes?
Yes, the changes are to the tests.

Did you document any new/modified feature?
No,

Notes

LGTM


Data migration to replace policy admin URLs in content.

These will stop working once the code and/or data is removed, and so need replacing with their full public URL.
Output when run locally: https://gist.github.com/elliotcm/3c63f101d6d49241a912

@boffbowsh @edds I've updated the tests and code to better handle deleted policies/supporting pages.  This should hopefully also be an easier to parse conditional.

:+1:


broker Write of ledger entry to quorum failed

Describe the bug
1.bookie logs:

2.broker logs:

pulsar v2.6.2

The issue had no activity for 30 days, mark with Stale label.

Closed as stale. Please create a new issue if it's still relevant to the maintained versions.


Applying Llama2 Decode and Prefill Kernels to experimentals folder

[x] appiled kv_cache_load_slice kernel to llama decode
[x] appiled sdpa kernel to llama prefill and added lanuch op to support async
[x] changed matmul grid size to 8x7 and out_subblock_w to be 1 to avoid di/dt hang on specific devices
[x] Integrated ROPE to llama prefill
[x] Llama prefill device time improved ~ 23%

when running tracy profiler, we currently need to manually modify SDPA_CONFIG to have k_chunksize = 256 instead of 128 to avoid a TRISC 1 running out of .txt space error. This will produce bad PCC for prefill_128. Running without profiler is good and without hang with this PR.

Running t3k frequent tests here: https://github.com/tenstorrent/tt-metal/actions/runs/9370819526


Add developer container option for deploy-local

We have decided to fix the issue by making it clearer in the services template (by adding an example as a comment) that the image can be overridden to a developer container in the service's values


Update TOC to reflect new SignalR Java client package name

The current link 404s because we've updated the package name from com.microsoft.aspnet.signalr to com.microsoft.signalr

@scottaddie Can I make that a separate change? I did this change in the browser which only allows editing a single file? Thanks

@mikaelm12 That works for me! Thanks for your help.

Yeah! Thanks for your help in getting this all set up!


mutate function missing yield

When creating a dialogue that emits a signal with an argument do emit("dialogue_event", "arg"), mutate() doesn't yield and line 82 throws an error:
First argument of yield() not of type object.
In order to use "completed" on a function in yield, the function itself must yield.
This is easily solved by unindenting lines 280-281 by one, so that we always yield:
	# Wait one frame to give the dialogue handler a chance to yield
	yield(get_tree(), "idle_frame")

Thanks. I've made that change 👍


Fides Consent - Segment Support

As a customer who has an integration with Segment on my site, I want to prevent segment from collecting information about a user for various activities, based on the status of the consent object stored on the window.
AC

Given that I have segment on my site, when I include the Segment fides script, then I can map properties to categories to prevent data transfer.
Given that I have segment on my site, when I include the Segment fides script, the default cookie properties are tracked and mapped to categories to prevent services from loading.

Details
This should be similar to Ethyca Pro. https://support.ethyca.com/docs/consent-management-for-ccpas-do-not-sell-my-personal-information
However, the biggest difference is that the new Fides segment script will need to provide some default options for blocking different categories of services based on the props of the cookie. In Pro, we just prevent data sales, but in Fides, we’ll need to also prevent data sharing, and the script needs to be flexible enough to manage other cookies which a person may configure.

Duplicate of #1422


Actually the scan is not running!

I am Waiting for 20 MIN :(

All my configs are correct!

Hi @0xGodson, the issue is probably caused by the space between tags. Please try  -etags fuzz,network instead of -etags fuzz, network and let me know if it works.
Usually nuclei scan with the parameters that are shown on your screenshot should take around 10 minutes.


div-overflow: IDIV support

div-overflow contract does not support idiv.

@van-ema  same as with the other PR - don't worry about the merge conflicts, I'll take care of them

Moving into to PR #60


Error if fail-if-timeout is not boolean

#8  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @CatChen and the rest of your teammates on  Graphite


Move employee handbook PDF to S3 or CDN

My understanding is that Netlify acts as a CDN.  I checked the performance of the handbook via https://www.uptrends.com/tools/cdn-performance-check and ping times were <100ms and download times were <1 second everywhere in the world.  Do you have a bit more detail on what the problem statement is?


Max String Length of 256 Chars

Our postgres database limits string length to 256 chars. This is fine, but we should inform the user of that restriction if they attempt to add longer strings. Right now it's just the default pyspark error and it's difficult to parse, especially if you're not familiar with our backend.
Benefit: Less confusion for users encountering this edge case.
Cost: Low I believe - should just be catching errors when loading data.

Theo's suggestion: do what I describe above and throw an exception if the user attempts to load data with more than 256 chars and let them know which cols are violating. Provide them with the option to ignore those cols when loading data.

TODO: Week of 4/23


Support SSO functionality in get_credentials in current botocore

Can you guys update the current botocore v1 version with the new sso credential provider that was created in botocore v2. This will let people programmatically access SSO credentials they set up from the command line. Thanks :)

@dytoto - Thank you for your post. Marking this as a feature request.

Any updates on this?

We really need this :(

I pulled the SSO credential support from botocore v2 and the CLI into a credential_process helper, so by adding one line to your SSO-configured profile in .aws/config, it'll work with any SDK that supports credential_process: aws-sso-credential-process
Hopefully very soon the functionality in botocore v2 will get pulled in botocore v1, and all the other SDK languages, but until then I find this to be a minimally intrusive workaround.

@joguSD this is shipped, right? At least as of 1.17.16

Still getting botocore.exceptions.NoCredentialsError: Unable to locate credentials

works for me today!  I needed to make two changes:

pip install aws-sso-credential-process
add this to my config file (which i generate) credential_process = aws-sso-credential-process --profile my-sso-profile

thanks!

@annbrady You shouldn't need to use aws-sso-credential-process anymore. With boto3 1.14.0/botocore 1.17.0, it knows how to load credentials that are cached when you run aws sso login. But that means the user has to have signed in using the CLI for it to work. You can still use aws-sso-credential-process to enable your Python scripts to dispatch the user to the browser to sign in (and to make SDKs in other languages work).

@annbrady You should be able to use boto3 without aws-sso-credential-process now. With boto3 1.14.0/botocore 1.17.0, it knows how to load credentials that are cached when you run aws sso login. But that means the user has to have signed in using the CLI for it to work. You can still use aws-sso-credential-process to enable your Python scripts to dispatch the user to the browser to sign in (and to make SDKs in other languages work).

Guess I'm doing something wrong then...
...
Successfully installed boto3-1.14.17
...
aws sso login --profile NAME
...
Successully logged into Start URL: https://d-ID.awsapps.com/start/
python
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 22:39:24) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import boto3
import jmespath
region = 'us-east-1'
ec2 = boto3.client('ec2', region_name=region)
ec2.describe_instances()
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 316, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 621, in _make_api_call
http, parsed_response = self._make_request(
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 641, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\endpoint.py", line 102, in make_request
return self._send_request(request_dict, operation_model)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\endpoint.py", line 132, in _send_request
request = self.create_request(request_dict, operation_model)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\endpoint.py", line 115, in create_request
self._event_emitter.emit(event_name, request=request,
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\hooks.py", line 211, in _emit
response = handler(**kwargs)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\signers.py", line 90, in handler
return self.sign(operation_name, request)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\signers.py", line 160, in sign
auth.add_auth(request)
File "C:\Users\annbrady\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\auth.py", line 357, in add_auth
raise NoCredentialsError
botocore.exceptions.NoCredentialsError: Unable to locate credentials

You've logged in to profile NAME but aren't providing it in Python. What if you change the code to ec2 = boto3.Session(profile_name='NAME').client('ec2', region_name=region)?

You've logged in to profile NAME but aren't providing it in Python. What if you change the code to ec2 = boto3.Session(profile_name='NAME').client('ec2', region_name=region)? (it would also apply if you've done export AWS_PROFILE=NAME before loading python)

that was it, thank you!

With the merging of this PR https://github.com/boto/botocore/pull/2070 SSO functionality is now supported in current botocore. Please let us know if anyone has any concerns.


Fix merge issue from #1787 that reverted part of #1828

Motivation
A merge issue from #1787 reverted part of #1828
Changes
Skip running tests on develop in travis.

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge


Load balancer gives back same instance under concurrent conditions

Please correct me if I'm missing something...
Based on looking at the code for both LoadBalancerClientFilter and ReactiveLoadBalancerClientFilter and the LoadBalancer implementations used for each (RibbonLoadBalancerClient and RoundRobbinLoadBalancerClient), I believe that there may be a subtle concurrency quirk that users might find surprising at first.
Based upon each of the LoadBalancerClients coming from bean definitions created within an application context specific for that service, we can pretty safely say that the LoadBalancerClient is a singleton within a service boundary. With that in place, if there is sufficient concurrency occurring through that bean in combination with the Retry filter, it's possible that a request is routed back to the same instance that it has just failed on. I would think from a user standpoint, that most developers would expect to be retried on the other instance as that's what happens under the low concurrency model [as a result of the load balancer having a round robbin strategy by default].
It'd be good to either document this as an edge case or keep the instance of the load balancer within these two filters, so that the positional instance selection can be maintained allowing for a retry on next server type of interaction.
I'll be honest, that it's a bit difficult in order to specifically recreate this issue with a demo project due to the concurrent nature, but if that's necessary then I can attempt to put something together.

It's not just a function of concurrency but the number of instances as well. the load balancer instance is a singleton per service so I don't think hanging on to it in the filter will make much difference.

Random also won't work well for n=2

Correct, it is a matter of the number of instances. In my situation I've got services with 2 instances, so it comes out as a 50/50 split. With sufficient concurrency, even larger clusters would have similar situations, but it'd just be less and less likely as the size of the cluster increases. Probability is an equation of 1 / (n servers) = % probability.
Also correct, that since the load balancer is holding onto it's own state and that the load balancer is also a singleton keeping a reference to it doesn't really help either. I know with Zuul, it creates a unique load balancer instance per request with the state of the current position, then the client can retry on the next server within their isolated load balancer.

Which is #1370, right?

Noticed this while coming up with the details around #1370, so they're definitely related. With 1370, it's a matter of being able to evict a server instance because it has been failing. Maybe as a result of a network segmentation where the gateway isn't able to contact it, it's throwing errors because it may not be able to contact a resource it needs, etc (insert other failure modes).
Whereas this ticket is more around that same concept, but from the standpoint of a request and the end user expectations (in this case developer) around what instance to route would be routed to in the event of a retry. My thought process here was less on the 500 client error side of the coin, but a service not responding back quickly enough and we hit the response timeout and (expected to) retry on the next server.
Secondary item that was noticed here is that with the default retry policy, it does in fact retry on all requests that encountered a timeout irrespective of HTTP method. Documentation seemed to state that any request outside of GET wouldn't be retried on exceptional case. I think it's pretty dangerous to be retrying POST,PUT,PATCH, etc requests on a simple timeout. (prime use case is to have response-timeout set to a low value and use a service that responds more slowly than that sometimes). Though to be honest, this is part specifically is probably worthy of a whole separate ticket entirely.
If you all would prefer to collapse the two down into one ticket, that's fine by me. I just happen to see them as two facets to load balancing instances.

it shouldn't retry anything but GET by default. Retry in gateway doesn't distinguish between a 500 or a timeout.

zuul uses a similar mechanism for caching the loadbalancer client as gateway so I'm unsure what happens there besides the ribbon metrics.

it shouldn't retry anything but GET by default. Retry in gateway doesn't distinguish between a 500 or a timeout.

Here's a sample showing this.
https://github.com/shanman190/spring-cloud-gateway-gh1371

Please open a separate issue for retry method

I wonder if we could add some simple logic to the load balancer that queries the load balancer until we get a new instance if it gave us the instance we just tried (obviously with some conditions around this like we only do this if there is more than 1 instance and we only do it a couple times).

I think that could work as a short term, but in all likeliness it's might be easier to treat/implement the LoadBalanacer returned, or have create a LoadBalancer, as stateful one that way it can more easily avoid the instance out of the gate. By remaining stateless and not implementing a fair concurrency model could result in a lot of unnecessary spinning which would just impact the performance gains by using the reactive context beneath SCG without short circuits like you mentioned.
To be honest this could even be a wrapped LoadBalancer around what is provided from SC loadbalancer purpose driven for the semantics of SCG. That would keep the code changes isolated to SCG if loadbalancer is intended to stay stateless, albeit the decision to take that direction might be odd given that a user may have the expectation for the general purpose LoadBalancer to be stateful in it's usage unless utilized as a singleton.

This is somewhat related to https://github.com/spring-cloud/spring-cloud-commons/issues/659 , but there I've been rather thinking of retrying on any instance other than the one chosen previously and not recording stats in the long run, but if there are enough compelling arguments, it might be better to go with the stats; @spencergibb @ryanjbaxter wdyt? Then we would handle it in the LoadBalancer (only for SC LoadBalancer, though) and can move this issue then.

This is somewhat related to spring-cloud/spring-cloud-commons#659 , but there I've been rather thinking of retrying on any instance other than the one chosen previously and not recording stats in the long run, but if there are enough compelling arguments, it might be better to go with the stats; @spencergibb @ryanjbaxter wdyt? Then we would handle it in the LoadBalancer (only for SC LoadBalancer, though) and can move this issue then.

Wouldn't Ribbon use something like a ping url to ping the server to determine whether it is up or not?  Couldnt something like that solve this issue?

It could do that. In the Netflix ribbon code it did have a ping check, but I believe it was not the default. I have a suspicion that probably relates pretty directly to the organic vs synthetic metrics debate. Not to mention the cascading failure problem. (Immediate server we are talking to is "up", but the next guy down the chain isn't and the immediate isn't shielding us as the consumer from those errors)
The other part if I recall my conversation with one of their devs was that in some cases, they would use metrics from their monitoring tool as an indication of the target server instance was possibly not the best to send the request to and instead route it to a different instance that had less active requests.

@shanman190 You can see if  https://github.com/k631583871/spring-cloud-circuitbreaker-instances can solve your problem

Use InstancesCircuitBreaker to fuse a single instance, cooperate with retry, and if it is necessary to retry in case of fuse, can this problem be solved

Hi @shanman190, I recently faced this issue, and here's what I did. The circuit breaker doesn't use other instances if one of them is down. It is implemented this way. But retry works slightly differently. It does allow us to redirect to another instance if one of them is not functioning correctly.
I switched the aspect order of the circuitbreaker and retry, and provided a fallback to circuitbreaker, and it solved my problem. However, one thing to note here is that the failed attempt by retry will be considered as failed attempt for the circuitbreaker as well!!
Code changes:
resilience4j.circuitbreaker.circuitBreakerAspectOrder=1
resilience4j.retry.retryAspectOrder=2

AND
@Retry(name = "demo-retry-config")
@CircuitBreaker(name = "demo-circuitbreaker-config", fallbackMethod = "fallbackDemo1Hello")

I hope this will resolve your issue!!!


When you search for $ in file it actually matches with empty spaces.

Issue Type: Bug
When you search for "$" in file it actually matches with empty spaces.
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.17763

Maybe you have set the "Use Regular Expression" toggle:

Maybe you have set the "Use Regular Expression" toggle:


Changing Power limit causing reset of other settings

https://github.com/Schnitzel/hass-miner/assets/129767979/ccdc1584-c0b5-4f0c-9074-ee6cbd7752c3
The issue is as follow: As soon as i change the power limit of my miner (S9) via Home assistant, it "forgets"/resets settings such as immersion mode. Refer to my vid below.
Attached a video with example where you can see Immersion mode gets deselected after changing power limit.

Can you try with 1.1.7?

Works except for 1 important setting: temperature control turns off after changing


[bug, testing] fix LocalOutlierFactor sklearn1.4 test fail via onedal/neighbors/neighbors.py

Description
A special case fixed by this scikit-learn/scikit-learn/pull/23317 changed an exception message and made a test for it for the kneighbors method. This was done for LocalOutlierFactor, but also impacts other kneighbors algorithms in sklearn. Luckily this wasn't tested beforehand, otherwise we would have needed to add a sklearn_check_version in onedal/neighbors/neighbors.py.  Ideally this logic should move out of onedal as it pertains to sklearn conformance, not the operation of onedal.
This is a code snippet out of #1640.
Changes proposed in this pull request:

Fix when X=None in setting of n_neighbors instance attribute
Change error check to match sklearn 1.4 (neighbors/tests/test_lof.py::test_lof_error_n_neighbors_too_large)

/intelci: run

This PR has been integrated into #1655 and is now no longer necessary.


Depracation warning for filesystem cookbook

You get the following warning now in chef:
Cannot specify both default and name_property together on property name of resource filesystem_create_all_from_key. Only one (name_property) will be obeyed. In Chef 13, this will become an error. Please remove one or the other from the property. at 1 location:
- /var/chef/cache/cookbooks/filesystem/resources/create_all_from_key.rb:25:in `class_from_file'
I think you just need to rework how that line is done to be compatible with current/future chef versions.

This should no longer be an issue, can you verify?


Add guideline for header parameters

Triggered by Nakadi's latest API proposals (e.g. Nakadi #592), we want to have a guideline which restricts putting significant parameters (i.e. ones which decide the main semantics of an operation, not just context like language, data formats, etc.) into HTTP headers.
Those should be put preferably into the URL, i.e. either as path (if part of an resource identifier) or query parameters. If that is not possibly, a request body with POST can be used.

@tkrop @ePaul :1st_place_medal: thanks for actioning this quickly, it's very much appreciated

Duplicate of #207 (which has a better description).


Compatibility with ListView

I'm using the version 1.2.0 and when I try to assign the ListView as Child of the SmartRefresher it says that the ListView is not type ScrollView.
From the example written in the README is instead shown that I'm doing correctly.
How can implement that?
Sorry, it may be a simple trick but I'm new to Flutter. :)

I don't understand why ListView is not a subclass of ScrollView. It may be a problem with your flutter version.

@peng8350 you are right. My fault. I messed up some settings. :)


Rework the README and branding

[ ] get owl logo from Design
[ ] add design decisions section?
[x] update tagline in gemspec and on GitHub: The wise choice for Ruby memoization
[x] add feature list/unique selling points of our gem:

Highest performance + Rigorous benchmarking
Preset
reset
Frozen instances (value objects)
Test coverage
Well-documented API

[x] Add other GitHub badges (see examples here: https://github.com/JacobEvelyn/friends)
[ ] Document that changing method visibility must occur before memoizing methods in order to preserve visibility. (See #59 for more detail.)

@jemmaissroff I'm not sure I totally follow the last item in the checklist:

Document that changing method visibility must occur before memoizing methods in order to preserve visibility. (See #59 for more detail.)

If I do:
memo_wise :foo
private :foo

or
private :foo
memo_wise :foo

isn't the result of both of these the same, i.e. foo will be both memoized and private?

@JacobEvelyn re:

isn't the result of both of these the same, i.e. foo will be both memoized and private?
Yes, you're actually totally right. I just ran the tests locally switching the order. But can you explain to me how that's working?

My assumption was that if we made the method private after memoizing it, it wouldn't be private when we check private_method_defined? within #memo_wise. Can you explain to me why that doesn't matter?

Can you explain to me why that doesn't matter?

Sure! In this case:
memo_wise :foo
private :foo

We're first creating a new public method foo, which wraps the behavior of the old (now-private) method foo. But then on the next line when we call private :foo we're making our new memoized method private.
Does that make sense?

Does that make sense?

Ah yes! So just to confirm my understanding. The order of the private and memo_wise call will impact what we do internally. But in both cases we'll ultimately have a private memoized method


Faster deprecation check

Use ZSH parameter expansion to check if a variable has been set instead of eval. This removes almost completely the performance penalty for doing the deprecation checks.

Neat! Didn't know we can use (P) this way :+1:

Could you, please, leave add a comment and reference for newcomers.

Published as v2.3.1!


Add free-courses-ru Nodejs & Javascript

What does this PR do?
Add Resource(s) | Improve Repo
For resources
Description
Software Engineering lectures with JavaScript and Node.js by Metarhia and NodeUA community of NodeJS developers in Ukraine
Why is this valuable (or not)
It's valuable because there are the courses of selected disciplines at University "Kiev Polytechnic Institute". Both courses good structured and cover a lot of aspects in russian language.
How do we know it's really free?
It's free youtube course.
For book lists, is it a book?
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Thanks, and welcome to free-programming-books!


Map Reduce Store

Create a Gaffer store backed by Hadoop

Closing as the issue is now being tracked in the gaffer-experimental repository: https://github.com/gchq/gaffer-experimental/issues/9


Update issue templates - Supervisor

Android Dev Kotlin Domain

@rahulsain No need to give PR to main for now. Please work on your respective branch only

This is regarding creating an issue template so that anyone open up issue,
will automatically will have the specified labels for our domain.
Hence, it will ease the maintainance for our domain workflow
On Fri, 17 Sep, 2021, 10:08 am Gaurav Das, @.***> wrote:

@rahulsain https://github.com/rahulsain No need to give PR to main for
now. Please work on your respective branch only
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/girlscript/winter-of-contributing/pull/349#issuecomment-921456527,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMB2LNJBSYCWBXIH2STFPRTUCLA6DANCNFSM5EGFBHFA
.


python312Packages.manifold3d: 2.5.1 -> 3.0.0

changelog: https://github.com/elalish/manifold/releases/tag/v3.0.0
major breaking change, no backport

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

darwin failure is not a regression https://hydra.nixos.org/build/279420348

I think nanobind has 2.2.0 now, perhaps updating it will fix the darwin failure?


Publish release tags

The latest available tag is v1.0.0-X1 but the latest published release is 1.0.0-X4. Please upload the missing tags.

X4 was from an unmerged PR to do some testing on the client site.
We'll be publishing another X+n soon, hopefully from the normal branch.

Thanks, tags are published.


Give a option to make single line text extractor by default.

Description of the new feature / enhancement
I use the feature very frequently, and most of the times the text are wrapped up in the columns, single line extractor by default will make it a lot lot easier to work.
Scenario when this would be used?
Everywhere
Supporting information
No response

/dup #28864


how to convert tensorflow model to caffe model?

How to convert a tensorflow .ckpt to caffe model?  Is that possible without .prototxt?
Any help is appreciated.

Have the same problem. I want to convert tensorflow model to caffe model.
Have you found any way on how to do it?

Same problem. If you @cyh24 @Dagalaki  find some solutions, please inform me.

@ethereon could you give us some advise?

The reverse conversion is fairly similar:

Map TensorFlow ops (or groups of ops) to Caffe layers
Transform parameters to match Caffe's expected format

Things are slightly trickier for step 1 when going from tf to caffe, since the equivalent of a caffe layer might be split into multiple tf sub ops. So pattern matching against the op signatures / scopes might be one approach for tackling this.
For certain ops like convolutions, you can avoid the transformation in step 2 by specifying a Caffe compatible ordering (eg: data_format = NCHW)

@ethereon Thank you for your help. I am trying to convert inception-resnet-v2 model to caffe, and not sure about the param of  BatchNorm layer.
Is it wright if I make:
tfLayer/weights:0 -> caffeLayer_weights,
tfLayer/BatchNorm/beta:0 -> caffeLayer_scale,
tfLayer/BatchNorm/moving_mean:0 -> caffeLayer_bn_mean,
tfLayer/BatchNorm/moving_variance:0 -> caffeLayer_bn_var ?
I copy the parameters while the produced caffe model show bad classification results.

@catsdogone I think u need to set scale layers' scale parameters to 1 as well. The default TF batch norm layer actually set the scale parameters to be not learnable. However, I tried that and my activation is still off, and cannot get the same accuracy. :(

Same issue. Want to convert Tensorflow Inception V3 and ResNet model to Caffe. That will be great!

Okay, I was able to achieve similar performance after changing the padding for the 1x7 and 7x1 filter to (0,3) and (3,0) instead of (1,2) and (2,1)

@Jerryzcn
Could you share how you transfer model from tensorflow to caffe?
rewrite caffe's prototxt based on tensorflow or write a transfer.py script to achieve it?

@nyyznyyz1991 I use pycaffe to generate the prototxt based on tensorflow. I cannot share it though.

@Jerryzcn is it hard to code the conversion script with pycaffe?

@neobarney  took me about 1 week.

that's long , you're not planning to release it on github ?

@Jerryzcn wow that's long, you're not planning to release it on github ? would be helpful to lots of peoples ! :)

@neobarney it should only take u 2-3 days, I spend half a week on figuring out why my activation does not match the original network.

cool, I'll try then, thanks for sharing Jerry !!!
Mickael Mas
On Wed, Jun 21, 2017 at 8:27 AM, Jerry Zhang<EMAIL_ADDRESS>wrote:

@neobarney https://github.com/neobarney it should only take u 2-3 days,
I spend half a week on figuring out why my activation does not match the
original network.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ethereon/caffe-tensorflow/issues/59#issuecomment-309919827,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEknVe-v6kE8UdfOvZ07W_ez7H7IlGOoks5sGFVLgaJpZM4J422H
.

@Jerryzcn  If I use tf.contrib.layers.batch_norm(input, scale=False) in Tensorflow, the "scale =False" means whether the gamma is zero in "y = gamma*x+beta".
the definition of contrib.layers.batch_norm in tensorflow:
def batch_norm(inputs,
decay=0.999,
center=True,
scale=False,
epsilon=0.001,
activation_fn=None,
param_initializers=None,
param_regularizers=None,
updates_collections=ops.GraphKeys.UPDATE_OPS,
is_training=True,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
batch_weights=None,
fused=False,
data_format=DATA_FORMAT_NHWC,
zero_debias_moving_mean=False,
scope=None,
renorm=False,
renorm_clipping=None,
renorm_decay=0.99):
scale: If True, multiply by gamma. If False, gamma is
not used. When the next layer is linear (also e.g. nn.relu), this can be
disabled since the scaling can be done by the next layer.
And how to set the param in batchnormlayer in Caffe to make the result same between tensorflow and caffe.

@zmlmanly set scale to 1 on caffe should work

@Jerryzcn Thank you very much. I’m converting tensorflow to caffe. I use tf.contrib.layers.batch_norm(input, scale=False) in Tensorflow, so there is only beta param in checkpoint,  in your view,
caffeLayer:scale_layer_gamma=1
caffeLayer:scale_layer_beta=tfLayer/BatchNorm/beta:0
But I can not find the mean and variance in checkpoint, so how to set the mean and variance in caffe?

@catsdogone  Hi, I want to know how to save the moving_mean and the moving_variance param in tensorflow/batchnormlayer. I have check the param in my trained model of tensorflow, but there is no mean and variance in batchnormlayer. Thank you for your help.

@zmlmanly I think I set them either to zero or one. I forgot which exactly.

@zmlmanly @neobarney Were you able to get it running?

Convert batch normalization layer in tensorflow to caffe: 1 batchnorm layer in tf is equivalent to a successive of two layer : batchNorm + Scale:
net.params[bn_name][0].data[:] = tf_movingmean
# epsilon 0.001 is the default value used by tf.contrib.layers.batch_norm!!
net.params[bn_name][1].data[:] = tf_movingvariance + 0.001
net.params[bn_name][2].data[:] = 1 # important, set it to be 1
net.params[scale_name][0].data[:] = tf_gamma
net.params[scale_name][1].data[:] = tf_beta

@jzhaosc
Thx, it helps a lot.
Be careful of the epsilon guys.

@jzhaosc
I am working on transforming tensorflow to caffe with mobilenet model.
I have successful transform with normal layer like conv,maxpool, but I haven't transform with BatchNorm layer.
I did the same way what you said to transform BatchNorm layer,but the first conv layer(name:Conv2d_0)  it acts different. What did I miss?
I use tensorflow slim model to run the first conv layer and compare with the first  blob layer in Caffe.
What did I miss?

@catsdogone May I learn if you have successfully converted inception_resnet_v2 from tensorflow to caffe? Thank you.

when you are using tf.nn.batch_normalization,
tf movingvariance + 0.001 ==> caffe batchnorm bias
tf movingmean ==> caffe batchnorm weights
tf gamma ==> caffe scale weights
tf beta ==> caffe scale bias

Maybe you can see another open source library called MMdnn by Microsoft,it is the link:https://github.com/Microsoft/MMdnn

@giticaniup yes I‘ve already down it with MMdnn， which is much easier and intuitive.

@cjerry1243 I have tried that before thus strongly recommend not to waste time using this repository on training Mobilenet in caffe. This repository uses caffe built-in group convolution, where the depthwise convolution implementation is a non-parallel 'for loop',  also do not have a good cuda/cudnn support. The training process was very slow, so that it will take a lot of time to tune hyperparameters.  Maybe you should try https://github.com/yonghenglh6/DepthwiseConvolution  or other implementations instead.

@cjerry1243 Do you solve the problem?

@KeyKy I have solved it !
The padding method is different in tf and caffe. Use pad=2 and followed by 2 slicing layers when the conv stride=2, pad=1 in tf.

@cjerry1243 could you share your code with me? It is hard to understand.

@cjerry1243 @KeyKy  Hi, what are the slicing layers?

Does anyone have any update about new tools to convert tf models to caffemodel?  It's been a long time since the question was posted.


Df 1503 update content

Update static content from Content Team
Additions

None

Removals

None

Changes

Updated /the-bureau with static content changes
Updated /budget with static content changes
Updated /doing-business-with-us with static content changes

Testing
Locally navigate to:

/the-bureau
/budget
/doing-business-with-us

Review

@jameshupp
@sebworks
@anselmbradford

Preview

Notes

There's some extra markup that could use some cleaning. Kind of outside the scope here but I'm going to add it to the Github issue tracker before merging this

:+1:

Updated and ready for sign off. @jameshupp can you double check this as well?

:+1:


fix: Python3.11 (str, Enum) issue

SUMMARY
Changed Enum.format() (the default for format(), str.format() and f-strings) to always produce the same result as Enum.str(): for enums inheriting from ReprEnum it will be the member's value; for all other enums it will be the enum and member name (e.g. Color.RED).
Fix the next Py3.11 error
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near "CtasMethod"
LINE 1: DROP CtasMethod.TABLE IF EXISTS test_sync_table

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Please look into 3 failing tests.

Python-Integration / test-postgres (3.11) CI is passed with the changes

I think, we also need to update files where str, enum.Enum is used.

Thanks @mdeshmu! Updated it.


New memoQ plugin breaks memoQ 10.5

I noticed a new memoQ plugin was released recently (https://github.com/Helsinki-NLP/OPUS-CAT/releases/tag/memoq_with_no_tag_copy). Unfortunately, installing the new plugin broke memoQ for me (using the latest to date, i.e. 10.5.7). I wasn’t able to open any project in memoQ, nor to close it (I had to kill it via Task Manager). Removing the plugin solved the issue.

Hi, this is probably due to Windows quarantining the plugin dll file (I think it does that to all unknown dll files that are downloaded remotely). You can fix this by unblocking the dll file before copying it to AddIns (right-click file, choose Properties, check the Unblock box in the bottom right of the Properties window).

Thanks! Unblocking the DLL appears to do the trick. It would probably be a good idea to mention it in the instructions.


Asset ID

Goal
Enable directly referencing an asset, subset, version and representation via a short and unique identifier, such as 344574b2.

Motivation
api.ls() reads from disk and returns a fully populated dictionary for each asset, which leads to unnecessarily high disk usage.

Implementation
This is the current interface.
from mindbender import api

for asset in api.ls():
  print(asset["name"])

If you know the asset, there is currently no other way of receiving a dictionary for any particular asset, without looping through them.
for asset in api.ls():
  if asset["name"] != "MyParticularAsset":
    continue

  assert asset["name"] == "MyParticularAsset"

This is how search currently works.
# Version 3 of modelDefault for Bruce
asset = next(api.search("Bruce/modelDefault/3.ma"))

Worst case scenario, ls must loop through every asset on disk before finding the one you are looking for. Because each asset contains one or more subset, each subset contains one or more versions and each version one or more representation, this ultimately leads to a O(n^3) efficiency. In practice, a simple lookup on a regularly sized production set may take several seconds.
By instead keeping an index of every asset, subset, version and representation, then there would need to be no search and one could look up any of these components in O(1) time. To not depend on naming, an index could instead consist of a random string, such as (part of) a UUID.
index = {
  "344574b2": {"schema": "asset", "name": "Bruce", "subsets": ["6434t54v", "fd353h1y"]}
  "7df16gdv": {"schema": "asset", "name": "Stella", "subsets": ["kr34j513", "3l25l464"]}
  "1hdf16gdv": {"schema": "version", "version": 4, "representations": ["u2hc513", "6u1l464"]}
}

# Instantly fetch a specific component
v004 = api.find("1hdf16gdv")

The index may then reside within a database, hosted either locally or even remotely (such as in Firebase). Locally is of course preferable for speed and reliability, but would require at least one dedicated computer with guaranteed up-time.

Some progress on this.
Proposed database layout
{
	"f034a4b": {
		"type": "asset",
		"name": "Bruce",
		"path": "{projectdir}/assets/{name}",
		"parent": null,
		"children": [
			"b07deyha",
			"u02f0dyh"
			"046kdaog"
		]
	},
	"b07deyha": {
		"type": "subset",
		"name": "modelDefault",
		"path": "{parentdir}/{name}",
		"parent": "l35dsog3",
		"children": [
			"od45qffl",
			"l35dsog3",
		]
	},
	"l35dsog3": {
		"type": "version",
		"name": "v001",
		"path": "{parentdir}/{name}",
		"parent": "b07deyha",
		"children": [
			"dre0463f",
			"ked4g9af",
		],
		"metadata": "{parentdir}/{name}/.metadata.json"
	},
	"dre0463f": {
		"type": "representation",
		"path": "{parentdir}/modelDefault.ma",
		"parent": "l35dsog3",
	}
}

This would require..

Upon creating a new project, a new database is created
Upon creating a new asset, an entry is made
For each published subset, an entry is made
For each version and representation, entries are made

Requirements 1 and 2 are currently not possible due to both projects and assets being created by primitive Windows-specific .bat files. What would need to happen is for the Terminal API to be written in a higher level language with the ability to open and modify the database which would be JSON for starters, Firebase later and eventually a self-hosted equivalent such as MongoDB.

Implemented in #116.
Every project, asset, subset, version and representation now have a unique address accessible via find.
from mindbender import io
asset = io.find({"_id": "unique_id_here}
asset["name"] == "Bruce"


Add Japanese Community 🇯🇵

Here are contact points for Japanese Community.

talk-ja: https://lists.openstreetmap.org/listinfo/talk-ja
Twitter: #osmjp
Facebook: https://www.facebook.com/groups/osmjapan/

Update:  the CONTRIBUTING.md guide is done and the doc schemas are stable now.
See https://github.com/osmlab/osm-community-index/issues/27#issuecomment-377539650 for how to add the resources to the index.

@bhousel Thank you. I'm working on adding those resources.
I'm a bit wondering about features geojson. Currently I'm including the area which Japanese government claims (means "including disputed area")
https://github.com/nyampire/osm-community-index/blob/japan_spike/features/asia/japan/japan.geojson
Is it better to fix to suite "on the ground" OSM(F) rule?

I'm a bit wondering about features geojson. Currently I'm including the area which Japanese government claims (means "including disputed area")

This polygon will be used to show a user who edits in this area that there is a community nearby that they can join.  It's ok for the polygon to be very rough, and in fact fewer points is better because it will enable faster lookups and take up less space..

For example, I chopped the whole top of Russia, because that coastline detail just doesn't matter for what we're using it for (test is the user editing anywhere in here or not)
https://github.com/osmlab/osm-community-index/blob/master/features/asia/russia/russia.geojson

Thanks. I've pushed my commit as #40.


ES2015 class constructors get the wrong longname in some cases

When JSDoc parses the following file, it generates a doclet with the longname module:example#Foo for the constructor function. The correct longname is module:example:
'use strict';

/** @module example */

/** @alias module:example */
class Foo {
    constructor() {}
}

This doesn't really matter much, for a couple of reasons:

This only happens when the class includes an @alias tag.
We throw the constructor doclet away anyhow—any useful information in that doclet is merged into the doclet for the class.

Still, the current behavior is wrong and should be fixed.

Fixed on master and releases/3.5. The fix will be included in JSDoc 3.5.3.


Changing the text color of components in nav bar

Describe the feature
@Its-Aman-Yadav I'm interested in contributing to this project by changing the text color of nav bar components. Now they are in white color which is not visible. Also the home page text should be bold, so that it will be clearly visible. Now the text is not visible with the image.
Add ScreenShots
I will change the color. Please assign this issue to me under GSOOC'24.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to work on this issue, kindly assign this issue to me, I am under GSSOC'24.


Reword the report msg in the console output to note remediations

Users who do not understand why they should read the generated leapp report. They are missing that the console output is just a summary overview of the report itself.
Rewording the msg little bit to make it explicitely clear that report contains more details about discovered problems and possible remediation instructions.
Also reverted order of the report about generated report files, making .txt version first.
Jira: RHEL-25406, RHEL-25407
TODO:

[ ] wait for CEE confirmation

Output

============================================================
                      REPORT OVERVIEW
============================================================

Upgrade has been inhibited due to the following problems:
    1. Found GRUB devices with too little space reserved before the first partition
    2. Leapp detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed.
    3. Possible problems with remote login using root account
    4. Btrfs has been removed from RHEL8
    5. Missing required answers in the answer file

HIGH and MEDIUM severity reports:
    1. Packages available in excluded repositories will not be installed
    2. Packages not signed by Red Hat found on the system
    3. GRUB2 core will be automatically updated during the upgrade
    4. Difference in Python versions and support in RHEL 8

Reports summary:
    Errors:                      0
    Inhibitors:                  5
    HIGH severity reports:       4
    MEDIUM severity reports:     0
    LOW severity reports:        4
    INFO severity reports:       4

Before continuing, review the full report below for details about discovered problems and possible remediation instructions:
    A report has been generated at /var/log/leapp/leapp-report.txt
    A report has been generated at /var/log/leapp/leapp-report.json

============================================================
                   END OF REPORT OVERVIEW
============================================================

/packit build

/packit copr-build


Handle lscpu output with missing NUMA lines

This is observed when running lscpu inside certain VMs.  Once solution would be for the PlatformTopo to return 0 for the number of board/package memories.
Related to #453

Duplicate of #2176


[KeyVault] Add V7_6_Preview_1

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

Resolves #43481

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Security.KeyVault.Administration


Sdk migration/duplicate store

WIP of the WIP
Create a new duplicate of the store only for atlas commands.
This PR attempts to explore how much it will require to have 2 separate stores:

atlas only v2 (called api)
mixed v1 and ops manager (store)

Progress

[x] Duplicate package
[x] Remove Ops Manager from first half of the stores
[ ] Remove Ops Manager second half of the stores
[ ] Rewire atlas only commands
[ ] Tests and mock generation

@fmenezes Let me know what you think about this approach in general. Does that make sense. I can try to make this work tommorow.

yes, this was my original point

I know naming things is hard but I've found the term api a bit confusing 😅

My suggestion is: we can simply move it to store/atlas it would be identical to what you've done and it would keep the name store

I'm not a big fan of the term store but I guess it has a meaning now-a-days

Closing as I have applied step by step approach instead in the other PR


wrong font color

I just clicked the enter key, and then the font color went wrong. What happened?

use command + s,just save the file,
problem is gone, why?

just like #685

back to 2.0.6 , it works fine

Closing this one as many things have changed since 2.x. Feel free to create a new issue with a minimal reproduction if you're still having issues, thanks!


added link to huggingface to the doc

fixes #718

@adriangonz is it all good now? please let me know if anything else is needed.


escaping querying with IN clause

having a method signature like the following:
List<Object> findAllByPropIn(Collection<String> props)
works good. However, inputs are not parameterized so an input such as bahhhh') OR (r.id > 'a will return all documents and use up all my RU's pretty fast. Am i responsible for escaping inputs, and if so, how are inputs escaped? It looks like other methods are susceptible to the same issue.

@chrisgolle can you please explain more on what you are trying to achieve with a sample may be?

im not trying to achieve anything really, more pointing out that I think the library has an issue where it is not using parameterized queries. I think users of this library expect inputs to be escaped/parameterized for them. Read more about it here. https://owasp.org/www-community/attacks/SQL_Injection
Throughout the library queries are constructed using String.format("some query %s some params %s", parama, paramb) or String.join ("," parameters). I dont think query parameters should be manually concatenated to the query strings.
In the example
List<Object> findAllByPropIn(Collection<String> props)
if someone calls this method with the following argument:
findAllByPropIn(Collections.singleton("bahhhh') OR (r.id > 'a"))
the library will generate and execute the following query:
SELECT * FROM ROOT r WHERE r.prop IN ('bahhhh') OR (r.id > 'a')
Instead, I i think it should generate something like the following (or array_contains instead, but that isnt the issue.)
SELECT * FROM ROOT r WHERE r.prop IN @params and pass cosmos the parameter separately. https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-parameterized-queries

@chrisgolle Thats a valid point, I will investigate this and see if we can change the query construction to be parameterized query APIs instead of using string concatenation.

Closing it here as this is being tracked in a separate repo.


Bringing capitalization of APIs containing "IP" to compliance with .NET naming conventions

Ip --> IP per .NET capitalization conventions

Hi @martinsawicki, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (marcins). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Seems jquery not works in splash-jupyter

I'm not sure,
splash:autoload("https://code.jquery.com/jquery-2.1.3.min.js")
this works in HTTP UI, but cannot works in splash-jupyter.

True, seems like the autoload list gets cleared for every cell that is executed, if you load a page in the same cell as the autoload call it works, but in a different cell it doesn't
http://dev.scrapinghub.com/~david/autoload_jquery.html

I'm sorry. @Youwotma
In my splash-jupyter:
splash:autoload("https://code.jquery.com/jquery-2.1.3.min.js")
assert(splash:go('http://dev.scrapinghub.com/~david/'))
splash:evaljs('"jQuery" in window')

always return false


Open browser after launching a Django or flask app

Investigate the possibility of launching the browser once a django/flask app has been started
Some other IDEs (PTVS) do this today

How do you know what port to open? Would we prompt for that and then just open localhost? Would you specify in your launch.json, but then how do you keep it synced with the code? Would probably require people specifying the URL to launch in launch.json.

To help manage our issues and to better communicate what the team plans to work on we are closing issues that we don't plan to work on but would accept a pull request from a volunteer for. To be clear, closing this issue does not mean we won't consider a pull request for this enhancement as outlined in our contributing guide, just that the development team has no plans to work on it themselves.

Re-opening as other extensions are looking at doing this, if I'm not mistaken C# extension does this today.
Also, it kinda makese sense, i.e. when you start debugging django the next logical step is to open a browser, its a must unless someone wants to just debug the bootstrapping of their application.

We would need to figure out how this would work in remote scenarios.

This feature has landed in VS Code.
We might want to implement this at least for local debugging and consider a seprate issue for remote scenarios.
FYI - Its just a configuration setting in launch.json, not typescript code etc..

Check out serverReadyAction (https://code.visualstudio.com/docs/editor/debugging#_remote-debugging)

Prescribed solution
{
  "type": "node",
  "request": "launch",
  "name": "Launch Program",
  "program": "${workspaceFolder}/app.js",

  "serverReadyAction": {
    "pattern": "listening on port ([0-9]+)",
    "uriFormat": "http://localhost:%s",
    "action": "openExternally"
  }
}

Update accordingly for django and flask to identify the pattern and update launch.json.

I have another issue here with regex for Django and Flask.

@karthiknadig Can you elaborate on that?

Flask outputs comes out to be something like this,
 * Serving Flask app "app.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
<IP_ADDRESS> - - [02/Oct/2019 16:51:16] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [02/Oct/2019 16:51:16] "GET /favicon.ico HTTP/1.1" 404 -

So I am planning to use,
"serverReadyAction": {
    "pattern": "Running on http://([0-9]+[.][0-9]+[.][0-9]+[.][0-9]+:[0-9]+)",
    "uriFormat": "http://%s",
    "action": "openExternally"
}

Similar for django. By observation, it looks like we'll have `http://...: present. So having that as default seems fine to me.

See here for patterns that worked for me: https://github.com/microsoft/vscode-python/issues/5192#issue-431688484
Note: that it may not always be <IP_ADDRESS>, host can be localhost, loopback, etc. Also, "Running on" may not be there in some cases. SSL can be enabled on those frameworks as well, so just http is not enough either. The pattern in my comment has limitations too, since it does not handle IPv6 host, but it should be a good starting point to test.

@Anapo14 Spec for this is done right?

Changes will be here https://github.com/microsoft/vscode-python/blob/master/src/client/debugger/extension/configuration/resolvers/base.ts.
If user is in experiment, look at the same markers (django, flask, pyramid, jinja), see if serverReadyAction  is openExternally, replace value with:

Add logging and telemetry for this change.

Adding this issue here to the Python Debugger repository.