No 'Access-Control-Allow-Origin' header is present on the requested resource.

im using this boilerplate Apiato
postman request working and browser request working but axios request not working.
axios setup.
import axios from 'axios';

const api = axios.create({
    baseURL: 'http://api.apiato.test/v1',
    headers: {
        'Access-Control-Allow-Origin': '*',
        'Content-type': 'application/json',
    },
});

api.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

let token = document.head.querySelector('meta[name="csrf-token"]') as HTMLMetaElement;

if (token) {
    api.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

export default api;

error.
Access to XMLHttpRequest at 'http://api.apiato.test/v1/users' from origin 'http://apiato.test' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

app.js:1691 Uncaught (in promise) Error: Network Error
    at createError (app.js:1691)
    at XMLHttpRequest.handleError

In case it helps others https://github.com/fruitcake/laravel-cors/issues/477#issuecomment-664709886.  I'm using the 2.0 version on the server.

How does your config look like?

Looks like there is another solution too (at least for my use case) setting supports_credentials to true in cors.php.  Hopefully it helps your use case as well.
https://github.com/fruitcake/laravel-cors/issues/477#issuecomment-665166972
Thanks for the help @barryvdh.  🍻

same problem.
in my case,
/config/cors.php
return [
    'paths' => ['*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => false,
];

/app/Http/Kernel.php
protected $middleware = [
        \Fruitcake\Cors\HandleCors::class,
        // ...
    ];

it's working on local, but not working on lambda by vapor.

same problem

Same here, subbing to this thread.

el mismo problema

The issue only happens on Vapor

In my case, I solved it by adding
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token, Authorization, Accept,charset,boundary,Content-Length');
header('Access-Control-Allow-Origin: *');
into routes/api.php
check this link
https://stackoverflow.com/a/63650811

same problem

Same problem. Just to mention I am using Laravel 8, maybe it has some breaking changes.

Same problem in Laravel 8.
Only works with the @linaandres  suggestion.

Same problem in Laravel 8.
Only works with the @linaandres suggestion.

Hello @celorodovalho
Were you able to resolve this situation? It would help me a lot

The issue I had wasn't with this package or with Laravel.
The routes I tested were echoing content like:
echo $user->toJson();
And it was interrupting the headers.
Once I replaced this with
return response()->json($user)
it started working fine.
  I was trying to debug using "dump" in some routes, so the OPTIONS can't handle the response throwing 'Access-Control-Allow-Origin' errors.

I got it, brother. But my routes are just toJSON anyway. I'm stuck on that problem. It doesn't even work with @linaandres said. Not if it's related to the laravel version. Thanks a milion

If you have everything in VerifyCsrfToken class and cors config set up and are still getting Access-Control-Allow-Origin header missing error, then one more thing to check is if you are maybe sending request to
website.com/api/routename/
instead of
website.com/api/routename
(notice the should be no slahs in the end).
This gives also cors missing notice.

I solved this problem in Laravel 7 this way:
in cors.php
from:
'paths' => ['api/'],
'allowed_methods' => [''],
'allowed_origins' => [''],
'allowed_origins_patterns' => [],
'allowed_headers' => [''],
'exposed_headers' => false,
'max_age' => false,
'supports_credentials' => false,
to
'exposed_headers' => ['Authorization'],

I've had this problem occasionally, and it usually takes some time to debug.
Today, I realized that my model Observer was failing and dumping some data. This exception was causing my CORS to break.

same problem in Laravel6

same problem in Laravel6

I noticed these errors when trying to do a very large upgrade. Version 5.3 for a bigger one. The solution was to remove the composer lock, the vendor folder, and redo the entire installation. Also remove caches with artisan cache: clear.

I noticed these errors when trying to do a very large upgrade. Version 5.3 for a bigger one. The solution was to remove the composer lock, the vendor folder, and redo the entire installation. Also remove caches with artisan cache: clear.

Para quem ainda estiver com o problema, entrar no "DevTools" do navegador, aba Application e apertar o botão Clear site data. Isso resolveu pra mim.

Para quem ainda estiver com o problema, entrar no "DevTools" do navegador, aba Application e apertar o botão Clear site data. Isso resolveu pra mim.

I still have this problem in laravelSanctum Laravel 8

Every two months CORS is waiting for us in every new setup .. more than 13223298 developers commit suicide every year of f cors problems

I am having problems with CORS after an upgrade of the Laravel version. Most cases aren't about a real error of CORS. When I active the mode environment to develop and active the logs with debug = true I can see the real errors in storage/logs. In most cases, the problems occurred with permission for storage/logs.

Yeah sorry, it's really hard to debug these problems. I've tried to reproduce any of the cases on Github, but almost all are either misconfigured config (wrong path, old config cached), misconfigured permissions (eg. storage dir not writable), wrong usage (missing middleware), duplicatie headers (eg. nginx/apache/index.php also adding headers), headers already sent (echo/header calls), no proper response (dd()/exit() in the code or some proxy issue (wrong host).  I was trying to debug using "dump" in some routes, so the OPTIONS can't handle the response throwing 'Access-Control-Allow-Origin' errors.

Had the same problem, lol thank you very much

Yeah sorry, it's really hard to debug these problems. I've tried to reproduce any of the cases on Github, but almost all are either misconfigured config (wrong path, old config cached), misconfigured permissions (eg. storage dir not writable), wrong usage (missing middleware), duplicatie headers (eg. nginx/apache/index.php also adding headers), headers already sent (echo/header calls), no proper response (dd()/exit() in the code or some proxy issue (wrong host). If there are actual reproducable errors on a clean Laravel install, I'm happy to take a look.

Thanks for your comment, in my case it was that I had dd ($ message) in a controller, removing the dd (), it was fixed, thank you very much.

I still have this problem in laravelSanctum Laravel 8

Have you been able to fix this? I currently have this too

@barryvdh - I am using this package and followed the documentation you provided. And it's working so far EXCEPT when I am trying perform a POST/PUT/PATCH request with file upload (binary) I am getting a CORS ERROR No 'Access-Control-Allow-Origin' header  is present.
Note that this is not duplicate headers issue because it would throw me the error right when logging-in and I've created the nginx configuration myself. Hope you can enlighten me on this matter.

As quick solution, you can modify headers in nginx or apache like following
nginx
server{
    add_header Access-Control-Allow-Origin *;
}

apache
server{
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            Header set Access-Control-Allow-Origin "*"
        </IfModule>
    </IfModule>
}

My problem with CORS where that I was accessing my host with HTTP and not HTTPS, on remote test server.

hello guyz i found the solution. my configuration is exactly as the documentation says. but the problem was with the app cache.
so i cleared cache
and it worked
command
php artisan config:clear

hello guyz i found the solution. my configuration is exactly as the documentation says. but the problem was with the app cache.
so i cleared cache
and it worked
command
php artisan config:clear

For me it worked creating the middlewares and clearing the cache, thank you!

Followed documentation, but having issue in laravel 9.


Enhancement and adding more features in footer and Nav bar

@abel-otegbola Kindly assign me this under Hacktoberfest 2022.

Alright. But can you state what you will be adding to the navbar and the footer?

Sir I will add a SideNav bar which contains your theme and mode . And in footer ,  I will add the social media handles.

You can add the social media handles. Just the Twitter and github. But leave the sidenav bar. I prefer the one currently there.

okay sir , I will work only on footer as per  your wish.

Also, you can put your own theme.

But the theme is optional. If you need any guide on adding any feature, I'll always be here to guide.

Sir, can i remove social media handles from nav bar?

That will make the topbar look empty. Please just leave it there. If you have any suggestions for features we can add to the topbar, it's welcomed.

Sir , I can add 'contact us' and 'about' features in place of that icons.

That's not necessary. Just add the social media handles to the footer

Sir,I submitted my PR , please review it.


Vue Resource should not be imported within Vuetable.vue

In my opinion, requiring the use of vue-resource should be up to the developer. I am already including vue-resource and as such, the error Cannot redefine property: $url gets thrown.
Please remove the import and force developers to pull it in themselves as a dependency.
Unless of course there is a specific reason for this. I would also like to see the ability to change out vue-resource for another similar package like axios.

I would have to say adding this as a feature would probably make this plugin more usable. I use vue-resource so its currently not much of a problem for me (but planning to swap to axios in the future).
I can see 2 ways to add this.

Create a callback function, if none is set it imports and uses vue-resource by default, the parameters passed can be the same from loadData only adding apiUrl and httpOptions. It can default to the style of vue-resource if the package in question needs something different then I can see needing to transform it on the devs end. This way I would say is more tedious (since its needed on EVERY table) so I suggest suggestion 2

Add global settings. This means making Vue.use(VueTableConfig) or something similar. It would add the settings into the global  vue instance, this would allow a similar callback to suggestion 1 but global, and other settings can be made global (like css to better integrate with other css frameworks). It can also be made not required, using defaults if its not set. This is a similar idea to setting global headers for whatever ajax lib you might use.

You do not seem to integrate deeply with vue-resource but I can understand why it might be challenging to allow swapping.
I am willing to work on a PR when I got time, but I can see this leading to a lot of refactoring, too much work to do before asking your opinion first @ratiw Also you may want to do it differently then i might. I can see this being possible without breaking anything or needing any migration.
What do you think?
This would solve #43 and #35

@jordanramstad All of that seems fine. The issue I ultimately see is that the plugin is importing Vue and Vue Resource itself. Which doesn't make any sense as a .vue file is referencing those. Those resources shouldn't be called from within the component. I fixed this by literally commenting out lines 87-89 in Vuetable.vue.

@brandonferens I guess your right on that. I seen this issue and thought to comment in the most recent one and reference the others.
However without doing that import if you do not use vue-resource it would break, the problem is that if you use something different, you might not want the overhead of including another ajax library when you primarily use a different one.
Laravel now uses axios by default and vue-resource has been dropped as the "official" package.
https://medium.com/the-vue-point/retiring-vue-resource-871a82880af4#.y2ko8usbt

Yeah, I use Laravel and would prefer to use axios. Perhaps a wrapper for axios could be built that has the same interface as vue-resource.

@jordanramstad @jordanramstad Thanks for the comments and dicussions. :)
First, I don't have anything against vue-resource nor axios. They're just libraries that I make use of as they're both serving the purpose of not having to re-inventing the wheel.
Replacing vue-resource with axios is really not so hard and I am already planning to do it. The reasons that it is still there (even though it's not that hard) are because

it is still working fine without causing any issue (that I know of), so I'm allocating my time to work on something else. (ref. #35)
vue-resource is used internally by Vuetable. Changing it to axios of something else should not matter or cause any issue to the user, that's why I personally think it should not be the responsibility of the user to have to declare/import vue-resource by himself. An that's why it's there in the Vuetable.vue.
vue-resource is still a very tiny library, it should not cause too much burden in term of additional package size (that's totally my opinion and I might be wrong). (ref. #43)
as vue-resource is used internally and only for fetching/requesting data from the server. I really don't see the point of making it swap-able which would complicate things too much (e.g. FormData payload, optional settings etc.).

@brandonferens To be clear, I think your issue is not really with the vue-resource itself, but rather "re-importing" the library. I mean if I use axios instead of vue-resource but I'm still importing axios like I did in Vuetable.vue, it would still cause the problem, right?
If so, that's the problem I would like to fix and your input would help a lot. But if I do not importing it inside .vue file, I would not feel like it is using it internally. But I'm totally open to discussion on this.
Because I probably write code different than yours so I've never experience that issue. My guess (I might be wrong here) is that you write the client-side code as Single Page Application (SPA), so when the bundler tries to compile the code, it sees the redeclaration of vue-resource.
I myself do not write SPA because the tooling was quite confusing (before vue.js comes along). And with Laravel and Vue.js I find myself more comfortable not using the SPA approach.
@jordanramstad I (personally) think that once I replace vue-resource with axios, many more people would be happy to hear that. But I still don't think making it swap-able is the way to go. If you would like to help, making the PR that replace vue-resource with axios would be just fine and it would be really apprecaited.
In closing, would this still be an issue if I decided to use Promise instead of using any other AJAX library to do the work for Vuetable? Please don't get me wrong. I really love this kind of discussion. It really opens my mind and the way I approach the code.
Cheers,

@ratiw
What do you mean by replace with Promises? Both axios and vue-resource use them.
I am still a bit unsure of doing just a replace, it seems to me like it would just replace the problem with another one.
Here is an extension of what I mean by config:
Vue.use(new VueTableConfig({
  css: {
    table: {
      tableClass: 'table table-striped table-bordered',
      loadingClass: 'loading',
      ascendingIcon: 'glyphicon glyphicon-chevron-up',
      descendingIcon: 'glyphicon glyphicon-chevron-down',
      sortHandleIcon: 'glyphicon glyphicon-menu-hamburger'
    },
    pagination: {
      wrapperClass: 'pagination pull-right',
      activeClass: 'btn-primary',
      disabledClass: 'disabled',
      pageClass: 'btn btn-border',
      linkClass: 'btn btn-border'
    }
  },
  icons: {
    first: '',
    prev: '',
    next: '',
    last: ''
  },
  ajax ({ apiUrl, httpOptions, success, failed }) {
    axios.get(apiUrl, httpOptions)
      .then(success)
      .catch(failed);
    // or success/failed can be removed and instead return it as a promise
  }
})

Then you can make a variable like this.$vueTableConfig would be available everywhere in vue, containing the configuration. I understand this is quite extensive though. This would make future updates have a clear place to adjust how vuetable handles different situations, without having to copy that configuration into every parent of every table. This could leave the settings in each table left for special styles / configurations, using the root config as the default.
Sorry for the massive comment, like you I do love discussions like this :).

@jordanramstad What I try to say was that if I do not use any ajax library like axios or vue-resource, and use the javascript's Promise instead, people wouldn't have asked me to change from vue-resource to axios or anything else.
Your example of using VueTableConfig object looks nice. But I wonder how it would be different than just import/require a normal javascript object and assign it to the css prop, except that it has the ajax callback (which I still don't think it's unnecessary).
  <vuetable ref="vuetable"
    :css="css.table"
  ></vuetable>

  const css = {
    table: {
      tableClass: 'table table-striped table-bordered',
      loadingClass: 'loading',
      ascendingIcon: 'glyphicon glyphicon-chevron-up',
      descendingIcon: 'glyphicon glyphicon-chevron-down',
      sortHandleIcon: 'glyphicon glyphicon-menu-hamburger'
    },
    pagination: {
      wrapperClass: 'pagination pull-right',
      activeClass: 'btn-primary',
      disabledClass: 'disabled',
      pageClass: 'btn btn-border',
      linkClass: 'btn btn-border'
    }
  }

Just to be clear, the idea of using axios was a second thought. The original idea behind this issue was the re-importing of both vue and vue-resource. So it might be helpful to pull the axios vs. vue-resource vs. another ajax library into a different thread.
@ratiw Yes, you are mostly right about my situation. I don't have a SPA, but I do have a single app.js file that includes the different libraries I use throughout the site. I also understand how you are attempting to use it. My suggestion would be that a check is run. If Vue or VueResource exist, then just move on, otherwise load them.

@brandonferens I understand I did somewhat hijack this issue ><. My idea does solve it but its far more complicated of an answer then this needs.
@ratiw I understand your point of view on it. I am going to stop here for now to avoid the original issue getting to sidetracked (importing vue-resource regardless of if it is loaded or not). I may make a pull request and use that to continue this later (not trying to tell you how it needs to be, just really like this package and want to see it get all the stars :D)

Many thanks @jordanramstad. Looking forward to your input very soon.
@jordanramstad I've just created a sample project using Vuetable-2 in Laravel 5.4, but I don't seem to find the same problem as you. Can you please check it out and let me know how it's different in your situation.

Sorry, I haven't gotten back to you sooner. Flooded with Browser testing issues. I'll respond tomorrow hopefully.

@brandonferens

I fixed this by literally commenting out lines 87-89 in Vuetable.vue.

I'm going to try this
I'm having the same issue in my adonuxt.js app
error Cannot redefine property: $url
made an issue in the adonuxt repo, but it looks to belong here.

@lmj0011 I'm still not sure what is the root cause of the problem. But I haven't defined any variable that named $url in Vuetable.vue code. So, I doubt that it was caused by Vuetable.
I also create a sample project and re-import vue-resource and Vue.use() it and still did not get any error as mentioned here.

@brandonferens Already tried as you suggested and did not see any error.
This is what I did

newly clone the project
run composer install
run npm install
run npm run watch
edit resources/assets/js/bootstrap.js like so,

window.Vue = require('vue');
Vue.use(require('vue-resource'));

also this,
window.Vue = require('vue');
import VueResource from 'vue-resource';
Vue.use(VueResource);

Both were compiled successfully and everything runs with any error in both the terminal and the browser's console.

Perhaps the difference is that I am pulling in vue resource with just require('vue-resource');. I'm not using Vue.use();.

instead of using an http lib
https://github.com/ratiw/vuetable-2/blob/master/src/components/Vuetable.vue#L316
making a raw http request using xhr or fetch would avoid conflicts with other libs, I think

@ratiw
if you could tell me what's in the this.httpOptions object I can try implementing http request
without a lib.

@brandonferens I don't think that's the case. Vue.use() function is just registering vue component with Vue, so that it knows the component existance.
@lmj0011 I'm just trying to understand what would be the problem that causes this issue as I do not encounter it and also do not have enough information on this.
Part of httpOptions (params specifically) is just the object that will later be translated into query string or URL parameters. You can find more info here. Basically, you just need to use the returned value from getAllQueryParams() to be sent as URL parameters.

@ratiw I can confirm that using Vue.use(require('vue-resource')) works for me while require('vue-resource');  does not, and I ran into no issues for now. So now my bootstrap.js looks like this
window.Vue = require('vue');
Vue.use(require('vue-resource'));

window.axios = require('axios');

window.axios.defaults.headers.common = {
    'X-CSRF-TOKEN': window.Laravel.csrfToken,
    'X-Requested-With': 'XMLHttpRequest'
};

Hope this helps

@ratiw

Part of httpOptions (params specifically) is just the object that will later be translated into query string or URL parameters. You can find more info here. Basically, you just need to use the returned value from getAllQueryParams() to be sent as URL parameters.

Decided to try to use xhr-request in place of vue-resource.
I wasn't able to successfully the package to pass the unit tests in a fork of vuetable2 so I duplicated the error in an adonuxt project instead:
https://github.com/lmj0011/vuetable2issue

Hi @ratiw
Great job with vuetable-2, to make a point of why axios should replace vue-resource is really simple but also very important: server-side rendering
Actually, the error of $url if due to the server-side rendering.

Has anyone started work on replacing vue-resource with axios. I'm going to give it another shot this weekend, if possible.

using axios
PR: https://github.com/ratiw/vuetable-2/issues/65

@lmj0011 Just confirmed that your changes work.

Just wanted to add that I had Cannot redefine property: $url thrown because I was using vue-resource-2. Changing it to vue-resource works. It was very hard to debug. Probably another reason to let user choose.

I still don't see the need of using by default an http library inside vue-table.
``js
created(){
if(!this.$http || !this.$http.get ){
console.warn('Vue table requires an http library based on promises in order to work ');
}
}
This way the user can choose whatever library to use, can put global authorization headers or other headers where and when he wants. Vue table will simply execute the requests and thus will not need to use `Vue` and `VueResource` or `axios` internally.

Take this case for example:
1. VueTable uses `VueResource` or `axios` internally and injects `$http` on each component.
2. User decides to use another library an also injects `$http` on each component.
3. What if the libraries conflict / override functions or properties?

the switch to axios here: https://github.com/ratiw/vuetable-2/commit/fd91517de6844e2b3822750fee7d2752910ea19d
install from the develop branch of this repo to get it

This way the user can choose whatever library to use

That would be counter-productive since this adds addition work just to get this library running. There's already enough to take in already when learning to use this Vuetable

The only reason this is an issue is because of server side rendering. VueResource just wasn't ready for it. ratiw explained his  reasons

This way the user can choose whatever library to use, can put global authorization headers or other headers where and when he wants. Vue table will simply execute the requests and thus will not need to use Vue and VueResource or axios internally.

I agree with @cristijora, someone might have an axios instance with default authorization header, global response interceptor that handles unauthorized access and other global configs.
Making the request with this.$http.get will come in handy for these use-cases.

That would be counter-productive since this adds addition work just to get this library running.

@lmj0011 For those that don't have global headers/interceptors and just want to get this library running they can use the lib's axios dependency.
This is my suggestion:
if (this.$http && typeof this.$http.get === 'function') {
    // make the request using this.$http.get
} else {
    // make the request using axios.get
}

I also met this problem in recent development.
Here's my solution:
Define the  this.$http
import axios from 'axios'
import VueAxios from 'vue-axios'
import _ from 'lodash'

if (!_.has(Vue, 'http')) {
  Vue.use(VueAxios, axios)
}

And the API Call:
    this.$http.get(this.apiUrl, this.httpOptions).then(
      success
    ).catch(
      failed
    )

Here's corresponding change in my fork:
https://github.com/gongdao123/vuetable-2/tree/axios
There's a lot of coding style change, that's why the change is so big.

I think I'll have to take this into further consideration in the future release.
The discussions in this thread really have given me an opportunity to see various use cases and possible solutions about the issue beyond my simple expectation.
I would love if anyone can submit PR(s) suggesting the couple of solutions to this issue and have further discussion on it.
Thanks, everyone. :)

This issue is real and I think @cristijora solution should be implemented,

What if the libraries conflict / override functions or properties?

This will always happen as the developers using token mechanism like basic or bearer for example (laravel-passport authentication) in the default configs of axios or vue-resource.


Documentation: Add/reactivate documentation as sqlalchemy-cratedb

What the title says.

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

Project coverage is 80.68%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #71   +/-   ##
=======================================
  Coverage   80.68%   80.68%
=======================================
  Files          15       15
  Lines         999      999
=======================================
  Hits          806      806
  Misses        193      193

Flag
Coverage Δ

main
80.68% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Dependency and test url update

I upped the dependency since my composer outdated command always show this as outdated, and nothing really has changed apart from added type hinting.
Also since Piwik changed it's name to Matomo the test url needed to be updated.
Maybe this lib should rebrand but that's for another discussion / day.
Would be greatly appreciated if the dependency bump could be shipped 🚢

Thanks for your PR! You are right, I will update the repository and composer url sometime in the near future.


info_density: Set font size, line height vars in dev.

This PR provides the JavaScript and CSS variables to set the font-size and line-height based on values stored in the database. That happens in development only, both when the UI is initialized, and when either value is adjusted from preferences.
Note that this PR does not yet utilize the CSS variables set and adjusted here.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Pushed to address the fixes above. This should be safe to merge, as it is only setting the variables. In a follow-up PR, I'll make whatever minor adjustments are needed to use the legacy/default values stored in the database to keep this project moving ahead.

Merged, thanks @karlstolley!


cache the evaluated expressions value for same attributes.

The result of evaluated expression will not change for same attribute values. Therefore, we should consider caching the evaluated expression for same attribute-values as key. In case of cache hit, we will completely eliminate expression evaluation, thereby speeding up the request path.

Covered by #1487


refactor: make modules private in application

In general, it's considered good practice to not have public members and access them through getters.
IMPORTANT
In C++, maps don't preserve the order the elements where inserted in, and instead are sorted by the key. This means that the order in the constructor of Application is now meaningless, and what decides the order of insertion is the order of the enum used to index the dictionary. Not ideal, but not the end of the world, we will do the same but in a different file.

Added a forward declaration file in the last commit to make sure compilation performance remains the same. After reordering modules before, we just needed to recompile the Application source file, but now, since it changed the header, it forced a recompilation of basically everything. By adding this forward declaration, now it again only recompiles the source file.


Implement tokens cache warm-up job

Context
The service needs to retrieve tokens info in a reliable and fast way. After the implementation of #166, the service will be able to query Transaction service and store each token info in a Redis hash.
Problem
This retrieval and store mechanism is not performant due to the amount of non-tokens and random addresses the service receives. This causes the service to make requests to the Transaction Service for those addresses, which forces Transaction Service to retrieve the data from the blockchain at least one time for each.
Additional context (Rust Client Gateway implementation).
Proposed solution
Warm up the cache using a scheduled job which will iterate over the paginated token list returned by the Transaction Service. This job should be executed every 10 minutes.
Keep in mind the service could be deployed in a HA setup, so several instances of the service could be running in a given point in time. Due to this, a lock mechanism is necessary.

This lock will be set in Redis, so both lastExecution (date) and locked (boolean) should be managed by the service.
When a instance executes the job, it should write lastExecution and set locked to true.
If an instance sees (now() - lastExecution) < 10 minutes and locked == false  the job should be started.
After a successful run, locked should be set to false.
A random jitter should be added to the task execution to prevent all the instances trying to execute with the same cadence.

Note: we probably need a TTL for locked in Redis, to prevent the scenario where a instance doesn't finish the job and never releases the lock.

@fmrsabino @iamacook I'm thinking of closing this one as not planned. We have been retrieving tokens one by one for a while with no issues, and we have been doing some work recently to mitigate corner cases (high amount of nested transfers, multiple parallel tokens metadata requests, etc.). So I guess this can be seen as not needed at least by now. Any concern?

@fmrsabino @iamacook I'm thinking of closing this one as not planned. We have been retrieving tokens one by one for a while with no issues, and we have been doing some work recently to mitigate corner cases (high amount of nested transfers, multiple parallel tokens metadata requests, etc.). So I guess this can be seen as not needed at least by now. Do you have any concerns regarding closing this?

I see no issue. We can revisit it if necessary.


Doc 02 - Architecture Constraints

I will fill this document together with @uo251181.

Added to the document the technical constraints.


Error/Introduction Stock NeurIPS2018 Part 3. Backtest.ipynb

I get the error below. Did anybody encounter it before and fixed it?
from pypfopt.efficient_frontier import EfficientFrontier

AttributeError                            Traceback (most recent call last)
Cell In[17], line 1
----> 1 from pypfopt.efficient_frontier import EfficientFrontier
3 ef_mean = EfficientFrontier(meanReturns, covReturns, weight_bounds=(0, 0.5))
4 raw_weights_mean = ef_mean.max_sharpe()
File I:\anaconda3\envs\FinExp\lib\site-packages\pypfopt_init_.py:1
----> 1 from .black_litterman import (
2     BlackLittermanModel,
3     market_implied_prior_returns,
4     market_implied_risk_aversion,
5 )
6 from .cla import CLA
7 from .discrete_allocation import DiscreteAllocation, get_latest_prices
File I:\anaconda3\envs\FinExp\lib\site-packages\pypfopt\black_litterman.py:15
12 import numpy as np
13 import pandas as pd
---> 15 from . import base_optimizer
18 def market_implied_prior_returns(
19     market_caps, risk_aversion, cov_matrix, risk_free_rate=0.02
20 ):
21     r"""
22     Compute the prior estimate of returns implied by the market weights.
23     In other words, given each asset's contribution to the risk of the market
(...)
41     :rtype: pd.Series
42     """
File I:\anaconda3\envs\FinExp\lib\site-packages\pypfopt\base_optimizer.py:16
13 from collections.abc import Iterable
14 from typing import List
---> 16 import cvxpy as cp
17 import numpy as np
18 import pandas as pd
File I:\anaconda3\envs\FinExp\lib\site-packages\cvxpy_init_.py:18
1 """
2 Copyright, the CVXPY authors
3
(...)
14 limitations under the License.
15 """
16 from cvxpy.version import (
17     version as version,)  # cvxpy/version.py is auto-generated
---> 18 import cvxpy.interface.scipy_wrapper
19 from cvxpy.atoms import *
20 from cvxpy.constraints import (Constraint, PSD, SOC, NonPos, NonNeg, Zero,
21                                PowCone3D, PowConeND, ExpCone,
22                                OpRelEntrConeQuad, RelEntrConeQuad, FiniteSet,)
File I:\anaconda3\envs\FinExp\lib\site-packages\cvxpy\interface\scipy_wrapper.py:37
33     return new_method
36 for method_name in BIN_OPS:
---> 37     method = getattr(spmatrix, method_name)
38     new_method = wrap_bin_op(method)
39     setattr(spmatrix, method_name, new_method)
AttributeError: type object 'spmatrix' has no attribute 'div'

It seems like cvxpy 1.3.1 is installed when setting up FinRL but in its scipy_wrapper.py looses one line of code that caused the problem. After upgrading to cvxpy 1.3.2 the problem is fixed.

It's DONE


added demo and support for asp.net core >= 3.0

Added demo and support for IWebHostEnvironment because IHostingEnvironment is obsolete.

I've implemented a single lib for .net standard, .net core 3.1, net 5, net 6, net 7. It's also on the latest nuget package in beta.


test: dalc- rm mock with celestia local devnet

          The mock implementation will be removed and integration test will be replaced with `local-celestia-devnet` in a follow up PR.

Originally posted by @tuxcanfly in https://github.com/rollkit/rollkit/pull/986#discussion_r1251313212

Not relevant since Rollkit uses local-da for local development now


SVG tags being wrapped

Current Behavior
SVG tags created by styled are being wrapped by .
HTML structure:

Visible result:

Expected Behavior
SVG tags (path, text, circle, etc) should not be wrapped by . This breaks SVG.
HTML structure:

Visible result:

Tamagui Version
1.98.1

Platform (Web, iOS, Android)
Web

Reproduction
https://codesandbox.io/p/devbox/lucid-field-pqpgs4?workspaceId=9310e085-3695-4d0a-95f9-f187994055bf

System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (16) x64 12th Gen Intel(R) Core(TM) i7-1260P
    Memory: 5.44 GB / 31.61 GB
  Binaries:
    Node: 22.1.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.7.0 - ~\AppData\Roaming\npm\npm.CMD
    bun: 1.1.8 - ~\.bun\bin\bun.EXE
  Browsers:
    Edge: Chromium (123.0.2420.81)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @babel/core: ^7.24.5 => 7.24.5
    @codeherence/react-native-header: ^0.12.1 => 0.12.1
    @dotlottie/react-player: ^1.6.19 => 1.6.19
    @expo/metro-runtime: ~3.2.1 => 3.2.1
    @expo/vector-icons: ^14.0.1 => 14.0.1
    @gluestack-ui/button: ^1.0.4 => 1.0.4
    @gluestack-ui/checkbox: ^0.1.28 => 0.1.28
    @gluestack-ui/form-control: ^0.1.17 => 0.1.17
    @gluestack-ui/input: ^0.1.29 => 0.1.29
    @gluestack-ui/modal: ^0.1.32 => 0.1.32
    @gluestack-ui/overlay: ^0.1.14 => 0.1.14
    @gluestack-ui/popover: ^0.1.34 => 0.1.34
    @gluestack-ui/select: ^0.1.26 => 0.1.26
    @gluestack-ui/spinner: ^0.1.14 => 0.1.14
    @gluestack-ui/tooltip: ^0.1.30 => 0.1.30
    @hookform/resolvers: ^3.3.4 => 3.3.4
    @legendapp/state: ^2.1.13 => 2.1.13
    @lottiefiles/react-lottie-player: ^3.5.3 => 3.5.3
    @react-native-async-storage/async-storage: 1.23.1 => 1.23.1
    @react-native-community/netinfo: 11.3.1 => 11.3.1
    @react-navigation/native: ^6.1.17 => 6.1.17
    @tamagui/adapt: ^1.97.1 => 1.97.1
    @tamagui/animations-css: ^1.97.1 => 1.97.1
    @tamagui/animations-moti: ^1.97.1 => 1.97.1
    @tamagui/colors: ^1.97.1 => 1.97.1
    @tamagui/config: ^1.97.1 => 1.97.1
    @tamagui/constants: ^1.97.1 => 1.97.1
    @tamagui/get-button-sized: ^1.97.1 => 1.97.1
    @tamagui/image: ^1.97.1 => 1.97.1
    @tamagui/polyfill-dev: ^1.97.1 => 1.97.1
    @tamagui/portal: ^1.97.1 => 1.97.1
    @tamagui/react-native-media-driver: ^1.97.1 => 1.97.1
    @tamagui/sheet: ^1.97.1 => 1.97.1
    @tamagui/tooltip: ^1.97.1 => 1.97.1
    @tamagui/web: ^1.97.1 => 1.97.1
    @tanstack/match-sorter-utils: ^8.15.1 => 8.15.1
    @tanstack/react-query: ^5.35.1 => 5.35.1
    @tanstack/react-table: ^8.16.0 => 8.16.0
    @types/color: ^3.0.6 => 3.0.6
    @types/file-saver: ^2.0.7 => 2.0.7
    @types/luxon: ^3.4.2 => 3.4.2
    @types/mime: ^3.0.4 => 3.0.4
    @types/react: ~18.2.75 => 18.2.79
    @vis.gl/react-google-maps: ^0.10.0 => 0.10.0
    axios: ^1.6.8 => 1.6.8
    color: ^4.2.3 => 4.2.3
    expo: ~51.0.2 => 51.0.2
    expo-asset: ~10.0.6 => 10.0.6
    expo-camera: ~15.0.6 => 15.0.6
    expo-clipboard: ~6.0.3 => 6.0.3
    expo-constants: ~16.0.1 => 16.0.1
    expo-device: ~6.0.2 => 6.0.2
    expo-document-picker: ~12.0.1 => 12.0.1
    expo-file-system: ~17.0.1 => 17.0.1
    expo-font: ~12.0.5 => 12.0.5
    expo-linear-gradient: ~13.0.2 => 13.0.2
    expo-linking: ~6.3.1 => 6.3.1
    expo-localization: ~15.0.3 => 15.0.3
    expo-location: ~17.0.1 => 17.0.1
    expo-notifications: ~0.28.1 => 0.28.1
    expo-router: ~3.5.11 => 3.5.11
    expo-screen-capture: ~6.0.1 => 6.0.1
    expo-sharing: ~12.0.1 => 12.0.1
    expo-splash-screen: ~0.27.4 => 0.27.4
    expo-status-bar: ~1.12.1 => 1.12.1
    expo-system-ui: ~3.0.4 => 3.0.4
    expo-task-manager: ~11.8.1 => 11.8.1
    expo-updates: ~0.25.11 => 0.25.11
    expo-web-browser: ~13.0.3 => 13.0.3
    fast-memoize: ^2.5.2 => 2.5.2
    file-saver: ^2.0.5 => 2.0.5
    jest: ^29.7.0 => 29.7.0
    jest-expo: ~51.0.1 => 51.0.1
    laravel-echo: ^1.16.1 => 1.16.1
    lottie-react-native: 6.7.0 => 6.7.0
    lucide-react-native: ^0.378.0 => 0.378.0
    luxon: ^3.4.4 => 3.4.4
    markdown-to-jsx: ^7.4.7 => 7.4.7
    mime: ^4.0.3 => 4.0.3
    monolite: ^0.9.2 => 0.9.2
    object-to-formdata: ^4.5.1 => 4.5.1
    patch-package: ^8.0.0 => 8.0.0
    pusher-js: ^8.4.0-rc2 => 8.4.0-rc2
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    react-error-boundary: ^4.0.13 => 4.0.13
    react-hook-form: ^7.51.4 => 7.51.4
    react-if: ^4.1.5 => 4.1.5
    react-native: 0.74.1 => 0.74.1
    react-native-easy-grid: ^0.2.2 => 0.2.2
    react-native-gesture-handler: ~2.16.2 => 2.16.2
    react-native-keyboard-aware-scroll-view: ^0.9.5 => 0.9.5
    react-native-maps: 1.14.0 => 1.14.0
    react-native-reanimated: ~3.10.1 => 3.10.1
    react-native-safe-area-context: 4.10.1 => 4.10.1
    react-native-screens: 3.31.1 => 3.31.1
    react-native-svg: 15.2.0 => 15.2.0
    react-native-swipe-list-view: ^3.2.9 => 3.2.9
    react-native-toast-message: ^2.2.0 => 2.2.0
    react-native-ui-datepicker: ^2.0.2 => 2.0.2
    react-native-web: ~0.19.11 => 0.19.11
    react-qr-code: ^2.0.12 => 2.0.12
    react-screen-capture: ^1.1.1 => 1.1.1
    react-test-renderer: 18.3.1 => 18.3.1
    recharts: ^2.12.7 => 2.12.7
    string-mask-jedi: ^3.1.1 => 3.1.1
    typescript: ^5.4.5 => 5.4.5
    use-debounce: ^10.0.0 => 10.0.0
    victory-core: ^37.0.2 => 37.0.2
    victory-native: legacy => 37.0.2
    zod: ^3.23.7 => 3.23.7

Yeah, same here. Not only svg, almost everything is wrapped around.

downgraded to 1.91.1 and not more spans :)

This was fixed in 1.98.2 https://github.com/tamagui/tamagui/releases/tag/v1.98.2 I believe


./build.py -p ubuntu_tpu_tensorrt fails with error

./build.py -p ubuntu_tpu_tensorrt executed under ci yields the following error (last few lines):
[100%] Built target onnx2trt
[100%] Built target trt_onnxify
++ pwd
+ export LIBRARY_PATH=/work/mxnet/3rdparty/onnx-tensorrt/build:/work/mxnet/3rdparty/onnx-tensorrt/third_party/onnx/build:/work/mxnet/3rdparty/onnx-tensorrt/third_party/onnx/build/onnx/:/usr/local/cuda/lib64/stubs
+ LIBRARY_PATH=/work/mxnet/3rdparty/onnx-tensorrt/build:/work/mxnet/3rdparty/onnx-tensorrt/third_party/onnx/build:/work/mxnet/3rdparty/onnx-tensorrt/third_party/onnx/build/onnx/:/usr/local/cuda/lib64/stubs
+ popd
+ mkdir -p /work/mxnet/lib/
/work/mxnet
+ cp 3rdparty/onnx-tensorrt/third_party/onnx/build/libonnx.so 3rdparty/onnx-tensorrt/third_party/onnx/build/libonnx_proto.so 3rdparty/onnx-tensorrt/third_party/onnx/build/libonnxifi.so 3rdparty/onnx-tensorrt/third_party/onnx/build/libonnxifi_dummy.so /work/mxnet/lib/
+ cp -L 3rdparty/onnx-tensorrt/build/libnvonnxparser_runtime.so.0 /work/mxnet/lib/
+ cp -L 3rdparty/onnx-tensorrt/build/libnvonnxparser.so.0 /work/mxnet/lib/
+ cd /work/build
+ cmake -DUSE_CUDA=1 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DUSE_CUDNN=1 -DUSE_OPENCV=1 -DUSE_TENSORRT=1 -DUSE_OPENMP=0 -DUSE_MKLDNN=0 -DUSE_MKL_IF_AVAILABLE=OFF -DENABLE_TESTCOVERAGE=ON -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN=52,70 -G Ninja /work/mxnet
CMake Error: The current CMakeCache.txt directory /work/build/CMakeCache.txt is different than the directory /run/media/szheyu/data_1/mxnet/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error: The source "/work/mxnet/CMakeLists.txt" does not match the source "/run/media/szheyu/data_1/mxnet/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.
build.py: 2019-08-16 10:37:59,873Z INFO Waiting for status of container 598b380db2b9 for 600 s.
build.py: 2019-08-16 10:38:01,699Z INFO Container exit status: {'Error': None, 'StatusCode': 1}
build.py: 2019-08-16 10:38:01,699Z ERROR Container exited with an error 😞
build.py: 2019-08-16 10:38:01,699Z INFO Executed command for reproduction:

./build.py -p ubuntu_gpu_tensorrt

build.py: 2019-08-16 10:38:01,699Z INFO Stopping container: 598b380db2b9
build.py: 2019-08-16 10:38:01,706Z INFO Removing container: 598b380db2b9
build.py: 2019-08-16 10:38:01,830Z INFO Other running containers: ['7a5320425173', '894539d7fe16']
build.py: 2019-08-16 10:38:01,831Z CRITICAL Execution of ['/work/mxnet/ci/docker/runtime_functions.sh', 'build_ubuntu_gpu_tensorrt'] failed with status: 1

ping @larroy

Hi @arsdragonfly
You have a dirty working directory, you should remove the build folder or really clean the repository. See dev_menu.py option 10, be careful because it will discard your local modifications.


Cranelift: fpromote.f32 seems not be implemented on x86_64

I constructed a clif file.
multi_func0.zip
I used the following command to run it.
clif-util run -v file_tests/multi_func0.clif

But I got the following error:
thread 'main' panicked at cranelift/codegen/src/machinst/lower.rs:685:21:
should be implemented in ISLE: inst = `v37 = fpromote.f32 v19`, type = `Some(types::F32)`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

fpromote requires a float as input, not an i16. If you run the clif ir verifier on this input file it will likely catch this issue. Also please try to use bugpoint in the future to reduce your test case: https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/src/bugpoint.rs Something like cd cranelift; cargo run -- bugpoint multi_func0.clif x86_64 would have worked in this particular case I think.

fpromote requires a float as input, not an i16. If you run the clif ir verifier on this input file it will likely catch this issue. Also please try to use bugpoint in the future to reduce your test case: https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/src/bugpoint.rs Something like cd cranelift; cargo run -- bugpoint multi_func0.clif x86_64 would have worked in this particular case I think.

Why the type of v19 is i16? The v19 is generated by the following two instructions.
line 678:  v7 = f16const -0x1.774p-9
line 741:  v19 = bnot.f16 v7  ; v7 = -0x1.774p-9

My understanding is that the type of v19 is f16, not sure what is wrong

I didn't notice that you had multiple functions in the clif file.
f16 and f128 is currently basically unsupported in Cranelift. Anything beyond passing around f16 and f128 values should be assumed to not yet be implemented.

I didn't notice that you had multiple functions in the clif file.
f16 and f128 is currently basically unsupported in Cranelift. Anything beyond passing around f16 and f128 values should be assumed to not yet be implemented.

Thank you very much, I will close this issue.


New plugin to limit custom keyword length

Sorry, I wasn't sure what was the best way to share this.
I've made a simple plugin to limit the number of characters allowed for the custom keyword:
https://github.com/adigitalife/yourls-limit-keyword-length
I've noticed that some of my new users don't quite get the concept of URL shortening and use some really long keywords.  Or sometimes, they put the long URL in the custom short URL field.  As a result, it messes up the table view when there are rows with extremely long short URLs.
Anyway, please feel free to add it to the plugin list.

👍


fix fix the issue that a trace may track multiple queries

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


fix(ui): show scrollbars

Fixes #784

Pull Request Test Coverage Report for Build 613409911

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 18.801%

Totals

Change from base Build 613156904:
0.0%

Covered Lines:
2004

Relevant Lines:
10940

💛  - Coveralls


Cant load CookieMonster addon with CCSE

Also, reloading the page does this

This is when it loads correctly (at the moment, loading correctly has a bad rng)

You can "fix" this manually on the mod manager (google chrome) by disabling CookieMonster mod, reloading the page and loading the mod, because it tries to load the mod, before all the CCSE based mods load

Version 1.4.0 will now load the mods in sequence by default (previously it would load asynchronously, with mods higher in the load order merely having a small time advantage). Putting CCSE at the top and CookieMonster at the bottom will let CCSE finish its injections before CookieMonster wraps the functions.


"Comet" URLs make it difficult to properly set up SSL

On some browsers (such as Opera and Konqueror) but not on others (Firefox, Midori, Nokia N900), etherpad generates URLs such as
2143539285689.comet.hitchhiker.org.lu
This makes it difficult to properly set up SSL, as this would need a wildcard certificate (*.comet.hitchhiker.org.lu) which are prohibitively expensive on some CAs.
On other CAs (such as startssl.com class2) they are affordable, but even there these URLs would cause problems as soon as you throw "team sites" in the mix.
Indeed, visiting a pad in a team site ("sub") with one of the 2 affected browsers will query an URL such as the following:
2143539285689.comet.sub.hitchhiker.org.lu
In order to cover this, you'd need a wildcard certificate for .comet..hitchhiker.org.lu
However, even startSSL refuses to issue such double wildcard certificates...
Wouldn't it be preferable to generate the "comet" URLs at local paths rather than sub domains? (hitchhiker.org.lu/comet/243y736) Or is this just a case of browsers "seeing things"...

Weird...

FYI Etherpad Lite has an implementation where it uses a directory path instead of a subdomain.
Take a look at that and copy/paste how it's done.
-----Original Message-----
From: AlainKnaff<EMAIL_ADDRESS>Sent: 12 November 2011 19:43
To: John McLear
Subject: [pad] "Comet" URLs make it difficult to properly set up SSL (#306)
On some browsers (such as Opera and Konqueror) but not on others (Firefox, Midori, Nokia N900), etherpad generates URLs such as
2143539285689.comet.hitchhiker.org.lu
This makes it difficult to properly set up SSL, as this would need a wildcard certificate (*.comet.hitchhiker.org.lu) which are prohibitively expensive on some CAs.
On other CAs (such as startssl.com class2) they are affordable, but even there these URLs would cause problems as soon as you throw "team sites" in the mix.
Indeed, visiting a pad in a team site ("sub") with one of the 2 affected browsers will query an URL such as the following:
2143539285689.comet.sub.hitchhiker.org.lu
In order to cover this, you'd need a wildcard certificate for .comet..hitchhiker.org.lu However, even startSSL refuses to issue such double wildcard certificates...
Wouldn't it be preferable to generate the "comet" URLs at local paths rather than sub domains? (hitchhiker.org.lu/comet/243y736) Or is this just a case of browsers "seeing things"...

Reply to this email directly or view it on GitHub:
https://github.com/ether/pad/issues/306
This email and its attachments may be confidential and are intended solely for the use of the individual to whom it is addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent those of the organisation from which this email originated. If you are not the intended recipient of this email and its attachments, you must take no action based upon them, nor must you copy or show them to anyone. Please contact the sender if you believe you have received this email in error. This email was sent by School Email - Safe Webmail and Hosted Email for Schools;/p>

Interesting... but in any case, I just noticed that in /usr/share/etherpad/infrastructure/net.appjet.ajstdlib/streaming-client.js, I can just set canUseSubdomains to 0, and then this no longer occurs...
weird...
maybe canUseSubdomains should automatically default to 0 if https is used...

It is guaranteed to slow down the operation of pads. Does anyone know the purpose of canUseSubdomains? Maybe it's been mentioned on either of the maillists? Could it be needed for one browser to have multiple pads open perhaps? (Guessing more; to keep separate cookie state between different pad documents?)


[FIX] #35 - Acks are possible after a subscription is closed/unsubscribed

The fix simply deletes the stanClient associated with the subscription on the unsubscribe. Adding checks to ack() make it a noop. Also tidied the emitting of an error on double unsubscribe/close.

Coverage decreased (-0.2%) to 95.868% when pulling aba888c8e322c7e735d49ce7dee021a4025e0d5f on ackInbox-safety into fbc66ec1aa5b4ccf7fb8576404c4396e925d7854 on master.

LGTM

Coverage decreased (-0.2%) to 95.868% when pulling 98a120830e2dc6a8c2538f8a6ad3f981d3ac7a91 on ackInbox-safety into fbc66ec1aa5b4ccf7fb8576404c4396e925d7854 on master.

Coverage decreased (-0.2%) to 95.868% when pulling 98a120830e2dc6a8c2538f8a6ad3f981d3ac7a91 on ackInbox-safety into fbc66ec1aa5b4ccf7fb8576404c4396e925d7854 on master.

Coverage decreased (-0.2%) to 95.868% when pulling 98a120830e2dc6a8c2538f8a6ad3f981d3ac7a91 on ackInbox-safety into fbc66ec1aa5b4ccf7fb8576404c4396e925d7854 on master.


feat: input files check (filter the unreadable files)

fix the issue #37

@abc123yuanrui @PeikeLi Do you think we can achieve this in an easier way by simple filtering; by replacing
https://github.com/PeikeLi/Self-Correction-Human-Parsing/blob/ee5877816acd8cd23be68d8da5661d0931b17427/datasets/simple_extractor_dataset.py#L30
with:
allowed_image_extensions = [".png", ".jpg", ".jpeg", ".webm"]

self.file_list = list(
    filter(
        lambda f: sum(
            [f.lower().endswith(ext) for ext in allowed_image_extensions]
        )
        > 0,
        os.listdir(self.root),
    )
)

allowed_image_extensions can be a constructor parameter - that way users may choose what files to filter for.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3010

Questions ?
Please refer to the Backport tool documentation


No Villages?

I can't seem to find any villages that generate with this mod. Is this a known problem?

I've found some

Also, there are sliders to control the distance between different types of structure.


add fullscreen dialog.

A first version of fullscreen dialogs as defined in the material spec
https://material.google.com/components/dialogs.html#dialogs-full-screen-dialogs

Thanks! 👍


Enhancements and Bug Fixes for Improved Compatibility and Functionality

Added accessibility enhancements to ensure compatibility with the iOS platform.
Fixed Firebase authentication to work seamlessly on both iOS and Android platforms.
Removed flutter_apns dependency as it was causing disconnection issues.

First of all thank you for your contribution.
Before being able to accept any PR, no matter how small, we require every contributor to sign either the Individual CLA or the corporate CLA that you find in this repo, and email it to<EMAIL_ADDRESS>Having said that, there are a couple of things that I don't like in this PR:

Please don't reformat the sources, as it makes it nearly impossible to understand what are actual changes, and what are only automated formatting changes
We don't use Firebase for push notifications on iOS, so removing the flutter_apns dependency results in breaking the push notifications on iOS

Hi, thank you for your response and for reviewing the PR. I noticed that the APNS (Apple Push Notification Service) was disconnected from the Flutter code, which caused issues with iOS crash analytics. To resolve this, I removed the APNS integration. Thank you.
￼

On 03-Jul-2023, at 4:54 PM, Franco Bugnano @.***> wrote:
First of all thank you for your contribution.
Before being able to accept any PR, no matter how small, we require every contributor to sign either the Individual CLA or the corporate CLA that you find in this repo, and email it to @.*** @.***>
Having said that, there are a couple of things that I don't like in this PR:
Please don't reformat the sources, as it makes it nearly impossible to understand what are actual changes, and what are only automated formatting changes
We don't use Firebase for push notifications on iOS, so removing the flutter_apns dependency results in breaking the push notifications on iOS
—
Reply to this email directly, view it on GitHub https://github.com/talkjs/talkjs-flutter/pull/35#issuecomment-1618078354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AICXBKJEYPMCTR3YHZYH5WDXOKXHBANCNFSM6AAAAAAZ4IU5AE.
You are receiving this because you authored the thread.


WIP [344] Surface last login date for support users

Context
For security, GDPR and Fraud purposes, we should regularly audit the users that have access to the Support Console in Production, removing those that no longer require it.
To enable a more formal, criterial approach it would be useful to have the “last login date” for each each user on the “Support Users” page to allow this to be reviewed and actioned by a non-dev member of the team.
Changes proposed in this pull request

Add last signed in date/time column to the support users index page.
Sort the users list by last signed in date/time, with the oldest date/time at the top of the list.
If the user has never logged in, show static text describing this (as seen in the screenshot below).

Screenshot

Guidance to review

Check out the page, add new users, login with different users and check that the order is correct (or look at the screenshot above).

Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[x] API release notes have been updated if necessary
[x] If it adds a significant user-facing change, is it documented in the CHANGELOG?
[x] Required environment variables have been updated added to the Azure KeyVault
[x] Inform data insights team due to database changes
[x] Make sure all information from the Trello card is in here
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally
[x] Add PR link to Trello card

 Add the last login date for each person in "Support Users" page on Support Console


1.22-23 docs

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

/lgtm


What to do about linear algebra

I had a stab at #27 and attempted to upgrade to lts-5.9.  The main stumbling block seems to be an API change to HMatrix: plus, minus, mult and divide are no longer exported and, instead, the intention is to use standard prelude +,-,* & /.  All well and good until you hack deeper into the substrate and get errors such as:
Could not deduce (P.Num (HM.Vector (Scalar (Scalar b))))
  arising from a use of ‘P.-’

At which point I estimate that any personal attempt to fix this will probably do more harm than good, without hassling Mike.
I then turned to the musing in #18 and looked at replacing HMatrix with bed-and-breakfast.  Again, all well and good until you reach the type hierarchy and have to decide on things like what the new MatrixField would look like.
So, I came to the conclusion that the best linear algebra support for subhask would be subhask!  Using an external library for a matrix representation seems to increase complexity and fragility quite a bit and potentially exposes the library to changes in the underlying memory representation.
A lot of work maybe, but the payoff might be worth it.  A tight and stable API across vectors and matrices and a possibility to isolate physical representation choice (aka subhask backends).
Tony

Thanks for looking into this :)
I'm not too sure what the advantage is of moving to a newer version of the lts.

So, I came to the conclusion that the best linear algebra support for subhask would be subhask! Using an external library for a matrix representation seems to increase complexity and fragility quite a bit and potentially exposes the library to changes in the underlying memory representation.

A lot of work maybe, but the payoff might be worth it. A tight and stable API across vectors and matrices and a possibility to isolate physical representation choice (aka subhask backends).

It would be nice to have a very simple, but slow, generic implementation using subhask types only.

The main reason for moving to the current version of lts is to be able to include subhask in other projects.  An example is ihaskell - I would like to be able to include subhask in an ipython notebook but it proved impossible to drop that ecosystem back to lts-3.3 (I tried).
Simple sounds good, and I'm motivated to give it a go.  If you have any rough refactoring ideas would love to hear them.

Okay, that sounds like a good motivation.
With regards to this specific error:

Could not deduce (P.Num (HM.Vector (Scalar (Scalar b))))
  arising from a use of ‘P.-’

I'm guessing the problem is that you need to add Scalar (Scalar b) ~ Scalar b to the constraints.  The scalar associated with any scalar value
should be itself.
(As an aside, now that GHC 8 supports cyclic class hierarchies, this
particular wart of subhask should go away.  I'm currently doing a pretty
big refactor, and this is one of the things I'm fixing.)
I'll definitely help you get through any other error messages if you post
them.
On Fri, Mar 25, 2016 at 4:47 PM, Tony Day<EMAIL_ADDRESS>wrote:

The main reason for moving to the current version of lts is to be able to
include subhask in other projects. An example is ihaskell - I would like to
be able to include subhask in an ipython notebook but it proved impossible
to drop that ecosystem back to lts-3.3 (I tried).
Simple sounds good, and I'm motivated to give it a go. If you have any
rough refactoring ideas would love to hear them.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/mikeizbicki/subhask/issues/28#issuecomment-201593586

I'm closing this since I think #30 fixed everything.


docs(guide/Developer Guide): Corrected broken link

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix
What is the current behavior? (You can also link to an open issue here)
Broken link
What is the new behavior (if this is a feature change)?
Correct link
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Fix/Feature: Docs have been added/updated
[ ] Fix/Feature: Tests have been added; existing tests pass

Other information:
The blog post "Creating multilingual support using AngularJS" has moved. Corrected the URL.

I signed it!


Follow Java habit about overload

We have many methods named
forEach, forEachWithIndex.
Maybe we can use the same name but overload methods instead, it follows the custom of Java.
And maybe easier for users to remember all the names.

The compiler will produce errors Ambiguous method call when the parameter is null if these two functions have the same name.

Isn't it better that compiler reject null as parameter?
Since null is of course illegal.

Yes, this can free us from null detection.
But I don't think errors produced by compiler is very convenient to users.
Because usually, errors produced by compiler are about wrong usage, wrong parameters, syntax errors.
I mean illegal parameters should be handled by ourselves, not by the compiler.

Yes, we should not rely on compiler. And actually we can not, if you give the null a type, compiler will pass:
Type a = null
method(a);

What I want to say is Ambiguous method call seems not a good reason to stop us using overload on methods.


[Bug] Migrator not recognizing data type change

Initial Migration has following struct
type ProviderRoute struct {
	*gorm.Model
	Test           int   `gorm:"test" json:"test" form:"test" query:"test"`
	Priority             int    `gorm:"priority" json:"priority" form:"priority" query:"priority"`
}

Then I changed the data type of Test  to string and tried to migrate again. The migrator this time is not updating the data type

Similar to #4308 .
Maybe GORM can't do it.
https://gorm.io/docs/migration.html#Auto-Migration

It will change existing column’s type if its size, precision, nullable changed.

https://github.com/go-gorm/gorm/blob/a480bd85450d444d2526a309f2ecae07cac814c0/migrator/migrator.go#L371-L414

I meet the same problem. Can it be solved?

It seems for reliable migrations, we can't use Gorm migrator.


Vulgar fraction with denominator 1

Denominator is currently spoken as first/firsts.
Would oneth or whole be better?

Wouldn't this work better by making oneth/oneths an empty string, as 2/1 is generally read as "two" rather than "two oneths"? Or does that confuse clearspeak rules like Fraction_Over?

No, I strongly disagree.
Although much of the semantic transformations SRE does are algebra-inspired and clearspeak is obviously aimed at voicing elementary algebra, we still should not actually perform arithmetic operations when interpreting an expression.
Firstly, it's a slippery slope, where do we stop? Shall we point out that 2/0 is undefined?
Secondly, how do we even know that a fraction-like expression we see as input is indeed a fraction. What if it's a Jacobi, Legendre , or Kronecker symbol (not sure if they make sense as (a/1); not my area of expertise, but clearly omitting the 1 would be wrong)?  Unfortunately, we are not in a computer algebra system with a well-defined syntax and semantics; all we get are arbitrary formulas and we have to guess at their meaning. And unfortunately MathML (but neither LaTeX in most cases) would be powerful enough to convey the required information.
And finally, if we assume that we actually are correct with our interpretation, what does that mean for the reader: Do you give the screen reader user an advantage over one who just has the visuals? Or do you deprive persons who can't see the formula of vital information?
Sorry, a long-winded no.
But thanks for pinging the thread again, as it can be closed.
SRE seems now to produce two oneths and 2 over 0.

Makes sense, I (now) agree. Thanks for the consideration and response!


feat: compact subsets in products as cofiltered limits of projections

We exhibit a compact subset in a product of totally disconnected Hausdorff spaces as a limit of its projections to finite subsets of the indexing set, in the category Profinite. The proof is structured in the same way as Profinite.isIso_asLimitCone_lift and DiscreteQuotient.exists_of_compat.

I'm not sure where to put the stuff that is currently in section General in Mathlib/Topology/Category/Profinite/Product. And maybe the rest belongs in Mathlib/Topology/Category/Profinite/AsLimit?

About ProjRestrict, etc, would not it be better to redesign it (and also Proj and Set.proj) so that if we have φ : ι' → ι then there is an induced "pullback" map (∀ i, π i) → (∀ i', π (φ i)). Then, Set.proj is the direct image of a subset C by this map. (If it is not absolutely necessary, I am a little disturbed by the Inhabited instances which may seem to be a little bit artificial. If such assumptions is needed, Nonempty, which is a Prop, would presumably be better.)

I agree with Joël (I meant to comment on that a while ago but then forgot about it, I'm very sorry). Incidentally I need similar results, so #6836 is proving continuity for these "precomposition" maps (although they are not literally precompositions because of dependent types). You could also use Set.restrict for the particular case of inclusion of a set into a type, but it's probably easier to work in greater generality than with subsets!
Then, if you really need to extend by dummy values, you can probably prove a continuity result for Function.extend. Does that make sense?

Thanks for the suggestions! I'm on vacation and will look at this in more detail when I get back. Regarding the Inhabited instances, the reason I'm using them is that in my application (#6286, Nöbeling's theorem) and the setting I originally did this in was for the space I → Bool, where default is false. It's really convenient to stay inside the space I → Bool throughout that proof, and thus map everything to the "dummy" value false.

bors r-
@jcommelin This was tagged as awaiting-author for a good reason, and I would like to continue this discussion when Dagur comes back from vacation.

Ok I'm back. Here are some thoughts:
I would argue that the map Proj J : ((i : ι) → π i) → ((i : ι) → π i) is quite canonical when the π i are Inhabited. I'm not extending by what you call a dummy element, I'm extending by the default element. I don't see why it would be better to write it as a composition of a map((i : ι) → π i) → ((j : {i // J i}) → π j.val) and Function.extend : ((j : {i // J i}) → π j.val) → ((i : ι) → π i) as Anatole suggests, when I can instead write it cleanly in one line.
In my application, Nöbeling's theorem, it is very convenient that ι stays fixed throughout the proof. I realise that in the context of this PR it might seem weird to require it when a similar end result is true regardless of the factors being Inhabited, but there is the explanation. I could try do something similar without requiring the factors to be inhabited, where the transition maps in the limits would go between products with different indexing sets. But again, in my application, I need the transition maps to stay within the same fixed product.

The main statement (here) does not require Inhabited, which is the reason we feel it is not canonical. For this PR, I would suggest redefining FinsetsToProfinite in a way that seems more natural to me and Anatole (without any arbitrary choice given by Inhabited) and obtain the result that the corresponding cone is limit. Then, for the your application, if it is critical to the proof, you may additionally define another FinsetsToProfinite' based on an Inhabited assumption, and then, it will be easy to show that these two functors are isomorphic and the corresponding cones corresponds, so that one of cones is limit iff the other is.

Ok, I've removed all the Inhabited instances. I'm still thinking about how to apply this in Nöbeling but for now this works as a standalone PR, if you want to take a look again.

If this gets merged, then Nöbeling (#6286) is ready for review

The definitions/statements in this PR looks good to me, but they do not seem to be in appropriate namespaces. The results about profinite sets should be in the Profinite namespace. I think that FinsetFunctor and precomp should be renamed and/or put in a namespace in a way which reflects the fact that this is topology; also it seems that SetFunctor would be better than FinsetFunctor.

I moved precomp to Topology/ContinuousFunction/Basic, and put everything else in the Profinite namespace. I changed both the FinsetFunctor namespace and the name of the functor FinsetsToProfinite to Profinite.IndexFunctor, where index refers to the indexing set of the product. Does this make sense?

Build fails because of "no space left on device"...

That happens from time to time, we've removed the affected runner for now until someone can fix the issue. I restarted the build.


feat(smallAvatar): display on red disputed and removed vouchees

As we discussed on #483, one of the possible measures is to somehow "flag" profiles that are maliciously vouching.
On that branch I had pushed a change to show red small avatars for the vouchees that had been disputed and removed. Given that #483 is under heavy discussion, I decided to separate those two features onto two different PRs and branches.
I believe this change should be included in master right away.

Hello @bilinkis ! Do you have the profile of a vouch-challenger so I can check how does it look? Thanks!

Hello @bilinkis ! Do you have the profile of a vouch-challenger so I can check how does it look? Thanks!

Hey, Aleix!
You can check it out with this one: https://app.proofofhumanity.id/profile/0x9e979ffff022bbbe891fb64c1cfc61e4447d049a


Notification when recommendations capped

During looping, sometimes the loop is hitting some security settings (preferences like max_basal, max_iob, max_daily_safety_multiplier, current_basal_safety_multiplier) and the right amount of insulin for corrections is capped. An alarm or notification for when the cap is reached and how much has been missed when this happens would be really helpful. Bonus features would include stating which preference is limiting the Loop (or option to choose only one of them), what the current autosens value/ratio is and length of time cap has been reached.
Linked to open issue in AndroidAPS https://github.com/MilosKozak/AndroidAPS/issues/347 which could be supported if determine-basal would put a flag in the result object which could trigger an alarm.

Like #787, this probably depends on #789 for OpenAPS.  Will comment in https://github.com/MilosKozak/AndroidAPS/issues/347 about getting the data to AndroidAPS.


dart2js: Error message and/or stack trace should be more informative for NoSuchMethod errors

I'm looking at this stack trace:
NoSuchMethodError : method not found: 'Symbol("call")'
Receiver: Instance of 'anonymous'
Arguments: [Instance of 'A3j', 1, Instance of 'q_6']
?.wrapException(sdk/lib/_internal/compiler/js_lib/js_helper.dart:1384)
?.noSuchMethod(sdk/lib/_internal/compiler/js_lib/core_patch.dart:47)
?.runtimeType(sdk/lib/_internal/compiler/js_lib/core_patch.dart:55)
?.applyFunctionWithPositionalArguments(sdk/lib/_internal/compiler/js_lib/js_helper.dart:1182)
?.applyFunctionWithNamedArguments(sdk/lib/_internal/compiler/js_lib/js_helper.dart:1226)
?.applyFunction(sdk/lib/_internal/compiler/js_lib/js_helper.dart:1145)
?.applyFunction(angular/lib/core/parser/parser.dart:253)
?...
I can't tell what is going on.
I believe that "Instance of 'anonymous'" is a tear-off which we are calling with the wrong number of arguments.
The runtime appears to be using the selector ($3) which corresponds to the "call" method with three arguments.
There are noSuchMethod hooks on Object which is why we can see the arguments, otherwise we would probably see something like:
foo.js:947: TypeError: undefined is not a function
return a.$3(z[0],z[1],z[2])
         ^
In both the noSuchMethod hook case and the no noSuchMethod hook case we need to provide a more actionable diagnostic.  There should be enough information to identify both the tear-off closure's method name and the instance type.
We might need extra code to generate better messages.  For example, the noSuchMethod hooks even in the absence of noSuchMethod implementations seems to be the only way to capture arguments.

Static closures now print the closure name, e.g. Closure 'main'.
Tear-off closures now print the method name and instance class name, e.g. Closure 'add' of LinkedHashSet.
The toString method for closures is trusted by safeToString, so this information appears in the Receiver and Arguments parts of a NoSuchMethodError.
There is probably more that can be done, bit I'm downgrading this from P1.


Wrong documentation about MapView prop-types (possibly more ..?)

Is this a bug report?
Yes, there is an issue with documentation
Have you read the Installation Instructions?
Yes, but irrelevant.
Environment
Android, using my react-native-maps fork based on v0.21.
Steps to Reproduce
Use a MapView component. Inside the docs it is written,
  /**
   * A Boolean indicating whether indoor maps should be enabled.
   * Default value is `false`
   *
   * @platform android
   */
  showsIndoors: PropTypes.bool,

However the default value isn't false, I had to set it manually to false in order to disable it
Expected Behavior
Documentation should be updated to match what is happening right now or default behaviour should be set.
Actual Behavior
Prop showIndoors isn't false by default.
A little backstory on why !
Inside my sentry logs I had a lot of stack trace that I did not understand such as

StackOverflowErrorjava.util.Arrays in copyOf
stack size 1038KB

StackOverflowErrorjava.util.HashMap in createEntry
stack size 1038KB

StackOverflowErrorcom.google.maps.api.android.lib6.gmm6.model.p in hashCode
stack size 1038KB

and many more...
then suddenly today I opened a map to a particular address (in London) and my app was crashing, so I digged
All theses bugs are linked to that thread
https://issuetracker.google.com/issues/35829548
And the temporary workaround is to disable indoors. Which is how I saw that the default show be disabled. But only setting it manually did the trick 🎉
EDIT: docs inside MapView.md is correct, I'm talking about docs inside the code here

@Titozzz  PR ? 😊


Doc: Integrating Bazel with Tilt: custom_build never watch for source deps

In the Image Dependencies section here
https://docs.tilt.dev/integrating_bazel_with_tilt.html
custom_build supposed to be watching for actual files, but in the example its just labels. Probably typo or am I missing something?
Currently its is
def bazel_build(image, target):
  build_deps = str(local(BAZEL_BUILDFILES_CMD % target)).splitlines()
  watch_labels(build_deps)

  source_deps = str(local(BAZEL_SOURCES_CMD % target)).splitlines()
  source_deps_files = bazel_labels_to_files(source_deps)

  custom_build(
    image,
    BAZEL_RUN_CMD % target,
    source_deps,
    tag="image",
  )

It supposed to be
def bazel_build(image, target):
  build_deps = str(local(BAZEL_BUILDFILES_CMD % target)).splitlines()
  watch_labels(build_deps)

  source_deps = str(local(BAZEL_SOURCES_CMD % target)).splitlines()
  source_deps_files = bazel_labels_to_files(source_deps)

  custom_build(
    image,
    BAZEL_RUN_CMD % target,
    source_deps_files,
    tag="image",
  )

source_deps -> source_deps_files in custom_build

This sounds right to me, but I haven't touched the Bazel integration code. @jazzdan what do you think?

Yup agreed. @kavirajk do you want to submit a PR for that? If not I am happy to do that, just let me know!

@jazzdan sure. I will do that :)


[HUDI-12] Upgrade to Spark 2.4, Avro 1.8.2, Parquet 1.10.0...

This is still a work in progress, and comments/suggestions are welcome.
Implications of this PR:

Spark 2.4+ will become a dependency for Hudi.

This is because spark-avro was only introduced in Spark 2.4.
This is necessary because spark-avro in Spark 2.4 has different schema conversion internals, (supporting Avro 1.8.2, and logical types)
This will allow us to move to the Datasource V2 API, added in Spark 2.3.

This PR makes the following changes:

Upgrades to Spark 2.4
Upgrades to Avro 1.8.2
Upgrades to Parquet 1.10.0
Upgrades the demo docker images
Cleans up the dependency poms
Replaces com.databricks:spark-avro with org.apache.spark:spark-avro
Replaces com.twitter:parquet-avro with org.apache.parquet:parquet-avro
Replaces com.twitter:parquet-hadoop with org.apache.parquet:parquet-hadoop
Makes HoodieWrapperFileSystem.java do what it says on the tin

Known Issues:

There is something going on with non-trivial Hive-MR queries on merge-on-read tables. (Specifically select symbol, max(ts) from stock_ticks_mor group by symbol HAVING symbol = 'GOOG'; from the demo)

If you can reproduce this can you post the underlying stacktrace? As I dont have a good test environment for this.

"As I dont have a good test environment for this."

@bvaradar - is there a way to do more serious testing ? Or does the CI pipeline does enough ?

@thesuperzapper @SemanticBeeng : @n3nash  has an active PR for Hudi Test Suite (https://github.com/apache/incubator-hudi/pull/623). This tool generates synthetic data and tests Hudi at scale.

@thesuperzapper : Regarding integration test fixes, I have 2 pending PRs,

https://github.com/apache/incubator-hudi/pull/644
https://github.com/apache/incubator-hudi/pull/645

Can you apply these changes on top of your PR, build local docker images (./build_local_docker_images.sh) and manually run the demo steps http://hudi.incubator.apache.org/docker_demo.html
If everything passes, I will go ahead and push the images to docker hub and the integration test should pass seamlessly.
On a related note, I am looking for volunteers to work on HUDI-100 (https://issues.apache.org/jira/browse/HUDI-100) which would automate running the demo steps. If  anybody is interested, this would greatly help identify and fix interoperability issues quickly.

these are now merged.. so rebasing against master and retrying should work..

@thesuperzapper : Just checking to see if you got a chance to try the demo with the new master. Let us know how things go and will be happy to help.

@bvaradar I have brought my branch up to speed with master (but it will be a bit of work to squash those commits nicely once we are done, as XML and git don't like each-other)
When I build the images locally and run tests, they all pass. (Integration, and otherwise)
However when running the demo everything works until this: (Which is the same as the initial PR)
0: jdbc:hive2://hiveserver:10000> select symbol, max(ts) from stock_ticks_mor_rt group by symbol HAVING symbol = 'GOOG';
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
        at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:380)
        at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)
        at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
        at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1840)
        at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:362)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748) (state=08S01,code=2)

This might be related to:

Replacing com.twitter:parquet-avro with org.apache.parquet:parquet-avro
Replacing com.twitter:parquet-hadoop with org.apache.parquet:parquet-hadoop

(Which I mostly did due to com.twitter:parquet-avro using avro 1.7.6 rather than 1.8.2)

@thesuperzapper : For the beeline error, Did you find any more exceptions in hiveserver log ?  It can be found in "hiveserver" docker container.
docker exec -it hiveserver /bin/bash
apt-get install less
less /tmp/root/hive.log

@thesuperzapper :  Any luck ?

@thesuperzapper :  I tried checking out your changes to debug but the compilation is failing with avro errors. I guess you might have fixed it locally but haven't pushed to your remote branch. If that is the case, can you push your change. We can worry about squashing at the final stages of committing. I will spend some cycles on debugging beeline issues (and push docker images) after you get the remote branch in sync.

@bvaradar Sorry, this week had me working on another project, I haven't made any significant changes locally since the last push, as I haven't had time.

@bvaradar Sorry, this week had me working on another project, I haven't made any significant changes locally since the last push, as I haven't had time.

@thesuperzapper : Pinging again :) Did you get a chance to work on this ?

@thesuperzapper @bvaradar gentle ping

We are working on #780 first

hey, are there any plans to finish this one?

#846, and #851 have made most of this PR redundant.
@vinothchandar @bvaradar do we still want to bump to Spark 2.4 minimum (+ associated avro/parquet)?
I can see a few reasons why we still might want to do this:

To use spark-avro from core spark, instead of databricks (Introduced in Spark 2.4)

This also lets us move to AVRO 1.8.2, which introduced support for logical types.

To use the Datasource V2 API (Introduced in Spark 2.3)

yes its still in the plan. Actually, with cleanups to pom from @thesuperzapper and me already merged to master, its good time to start on this, if anyone has cycles.
I am trying to redo the bundles, further thin them out (e.g: hive-jdbc standalone jar brings in a ton of classes into utilities-bundle) and make parquet/avro to be picked up from spark and not from hudi. After that, this is next on my plate - test across spark versions 2.1 - 2.4 and ensure things still work.

+1 testing across spark versions would be useful
On Thu, Aug 29, 2019 at 9:52 AM vinoth chandar<EMAIL_ADDRESS>wrote:

yes its still in the plan. Actually, with cleanups to pom from
@thesuperzapper https://github.com/thesuperzapper and me already merged
to master, its good time to start on this, if anyone has cycles.
I am trying to redo the bundles, further thin them out (e.g: hive-jdbc
standalone jar brings in a ton of classes into utilities-bundle) and make
parquet/avro to be picked up from spark and not from hudi. After that, this
is next on my plate - test across spark versions 2.1 - 2.4 and ensure
things still work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-hudi/pull/638?email_source=notifications&email_token=AAQUBNRV724AHM623GKFDEDQG75GJA5CNFSM4HF7ZSC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5PEHDA#issuecomment-526271372,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQUBNX7VMUVKGY4M7Q55O3QG75GJANCNFSM4HF7ZSCQ
.

#873 is also up. and close to merging.. @thesuperzapper still interested in driving this?

@vinothchandar I don't have much time over the next few weeks, so feel free to run ahead.
This PR is now out of date, so I will close it.


"bundle exec rspec spec" not working on JRuby/Windows

I'm trying to run
bundle exec rspec spec

and I'm always getting this:
$ bundle exec rspec spec
bundler: command not found: rspec
Install missing gem executables with `bundle install`

If I run this
$ bundle exec rspec

It works! I mean, the code works but as I need to pass the spec/ folder, it doesn't do what I want. =[
But it work fine if I use like this:
$ bundle exec "rspec spec"

But as I'm trying to use Guard, it runs the rspec with no "quotes".
This are my configurations:
$ jruby -v
jruby 1.6.7 (ruby-1.8.7-p357) (2012-02-22 3e82bc8) (Java HotSpot(TM) Client VM 1.7.0) [Windows 7-x86-java]

Windows 7

$ gem -v
1.8.15

More info about my configuration (Gemfile[.lock] and bundle config)
https://gist.github.com/1949650

Having the same problem.

Seems to be an issue going from 1.6.6 which works ok.
Moving to 1.6.7 and suddenly every exec produces
bundler: command not found:
Looks like issue with
lib/bundler/cli.rb : Kernel.exec(*ARGV)
Changing to system(*ARGV) and it runs.
Doubt this is the solution, as guess the subtle differences between of Kernel.exec vs system and important to bundler. So maybe a JRuby issue with Kernel exec introduced in 1.6.7 ?

Same happened in even with JRuby 1.6.6.
I'm running on a Windows 7 Professional 32bits.
$ jruby -v
jruby 1.6.6 (ruby-1.8.7-p357) (2012-01-30 5673572) (Java HotSpot(TM) Client VM 1.7.0) [Windows 7-x86-java]

If I update the lib/bundler/cli.rb to use this:
desc "exec", "Run the command in context of the bundle"
long_desc <<-D
  Exec runs a command, providing it access to the gems in the bundle. While using
  bundle exec you can require and call the bundled gems as if they were installed
  into the systemwide Rubygems repository.
D
def exec(*)
  ARGV.shift # remove "exec"

  Bundler.setup

  begin
    # Run
if RUBY_DESCRIPTION =~ /Windows|(win|mingw)32/
	system(*ARGV)
else
	Kernel.exec(*ARGV)
end
  rescue Errno::EACCES
    Bundler.ui.error "bundler: not executable: #{ARGV.first}"
    exit 126
  rescue Errno::ENOENT
    Bundler.ui.error "bundler: command not found: #{ARGV.first}"
    Bundler.ui.warn  "Install missing gem executables with `bundle install`"
    exit 127
  end
end

It works fine. But think Kernel.exec/system call should be in a different class/module.
Do you guys think adding system verification (if Windows or not) is the best solution?

I'm only using Ruby On Rails for a couple of months now, so I wouldn't now if that is the best solution.

Me neither, I am totally unfamilar with bundler, I just needed to crack on and found that using system worked, hence my post, but since bundler sets up the environment in which things should run, I suspect Kernel exec maybe important.
May be worth cross posting to JRuby guys as they are very helpful and maybe an issue with Kernel exec ?

i am also facing the same problem..

@phorekka There have been some recent issues with bundle exec on JRuby 9.1 not finding gems that should be installed. If that sounds familar, I'd report to jruby/jruby first and if we figure out there's something to fix in Bundler we can circle back here.


Reduce size of Swift package (currently takes 15 seconds to fetch)

Could anything be done to reduce the size of the Kingfisher Swift package? It takes a relatively long time to fetch:

15 seconds is a long time when you it's over several clean + build cycles.

Does this happen every time? Or is it just a temporary network/local CPU or memory issue?
The Kingfisher repo size is ~26MB now, I don't think it is a large repo yet. Compared to other packages in the screenshot, for example, httpswift/swifter takes ~11MB, but the fetching duration is just 20%.
I am not sure how and what Xcode does when fetching, but maybe the commit count or file count matters more (Kingfisher has 2000 commits, but swifter has only 600). It is not an easy task for us to reduce the size or the commits now (as Kingfisher is already a repo more than 5 years with ~2000 commits). Instead, I guess Xcode and Swift Package Manager should be able to do some optimization for this scale of repos?
Maybe it would be a good idea to open an issue on https://bugs.swift.org/ instead. Since if it cannot handle a repo like Kingfisher well, it would become useless soon when all packages grow to this scale.

And I have to say there should be no need to do clean build that regularly. Let's trust the compiler 😂

Does this happen every time? Or is it just a temporary network/local CPU or memory issue?

It happens every time I wipe the derived data folder. But not on every clean build.
You're right that the problem seems to lie with SPM. I've raised an issue there as you suggested: https://bugs.swift.org/browse/TF-1247

Maybe it can be due to currently Kingfisher is providing multiple build configurations (which provides a workaround for #1418 and #1423).
With Xcode 11.4.1 released, the workaround should not be necessary anymore. I will try to verify if it affects the fetching time (but I suspect it should not in theory). If reducing the target count can help, I will try to do that soon.

@onevcat this problem persists in Xcode 11.6

Yup, also noticed significantly larged fetch times compared to other packages

Reduced the repo side. Now the fetch should be much faster. #1691


Add function "updateBodyInstances" to synchronize mesh instances with…

… physics body instances.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13576/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13576/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13576/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13576/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13576/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13576/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13576/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13576/merge#BCU1XR#0

Sorry @CedricGuillemet if I merged too early!


Support for Intel Coffee Lake processor

Developers,
When I am using this tool on Linux I get the message:
Unsupported processor model (158).
Is there already support (or an workaround) by someone for the Intel Coffee Lake processors? More specific in my case:
Model: 158
Model name:  Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Cheers,
Carlos

pcm.x should already support your CPU model (https://github.com/opcm/pcm/blob/master/cpucounters.h#L849). Which utility did you test?

please let me know if you still have the issue. Otherwise I will close the issue

your processor does not have the hardware performance monitoring unit that pcm-power utility requires. It is available only on server processors.


Module build failed

Version
v1.2.0
Reproduction link
https://github.com/factordog/nuxt-blog
Steps to reproduce
Run create-nuxt-app

no server
no ui
No http
No lint
install yarn or use npm

Run yarn/npm run dev

Observer logs in terminal

What is expected ?
Should generate build and run as expected. This is not working anymore.
What is actually happening?
Running a fresh create-nuxt-app
Using all defaults, no server, no ui, universal app etc. Just baseline. Keeps throwing an error on yarn/npm run dev:
`Module build failed: Error: No parser and no file path given, couldn't infer a parser.
at normalize (D:\workspace\learning\Vue\Nuxt\nuxt-blog\node_modules\prettier\index.js:7051:13)
at formatWithCursor (D:\workspace\learning\Vue\Nuxt\nuxt-blog\node_modules\prettier\index.js:10370:12)
at D:\workspace\learning\Vue\Nuxt\nuxt-blog\node_modules\prettier\index.js:31115:15
at Object.format (D:\workspace\learning\Vue\Nuxt\nuxt-blog\node_modules\prettier\index.js:31134:12)
at Object.module.exports (D:\workspace\learning\Vue\Nuxt\nuxt-blog\node_modules\vue-loader\lib\template-compiler\index.js:80:23)
@ ./.nuxt/components/nuxt-error.vue 11:0-379
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi webpack-hot-middleware/client?name=client&reload=true&timeout=30000&path=/__webpack_hmr ./.nuxt/client.js`
Worked on previous project, but recently stopped working.

This bug report is available on Nuxt.js community (#c38)

I had this - it's a recent (the last 24 hours) update to the prettier npm package which has broken a lot of things. Forcing prettier to version 1.12.1 will fix. More here

Fixed! Mildly frustrating. Any chance this will be amended in the vue-loader or waiting for some fix?


feat(#803): Add Context To The XML Parsing Failure

In this PR I successfully added context to the XML document parsing exception.
Now, if an XML file is corrupted, we will see the comprehensive error message with the file name.
Related to #803

PR-Codex overview
This PR enhances error handling in the XmirRepresentation class by catching IllegalArgumentException and throwing a more descriptive IllegalStateException. Additionally, it introduces a new test case to verify the handling of broken .xmir files.
Detailed summary

Added a catch block for IllegalArgumentException in XmirRepresentation to throw an IllegalStateException with a clear error message.
Introduced a new test method failsToOpenBrokenXmirRepresentationFromFile in XmirRepresentationTest to validate error handling for invalid .xmir files.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here.

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 9min).