Road to 1.0

[x] Components #238 (See https://github.com/hyperapp/hyperapp/issues/238#issuecomment-312455621)
[x] Use requestAnimationFrame to throttle render/patch  #90
[x] Add SSR DOM hydration
[x] Improve documentation

[x] Explain what types are allowed in the state prop

[x] Homepage #146 @lukejacksonn
[x] DTD by @Swizz
[ ] Flow by @andyrj? #323 #311
[ ] Optimize patch?

[ ] Lifecycle hooks
[ ] Controlled Components
[ ] SSR
[ ] Recycling of DOM nodes (performance benefits)
[ ] Recomposing components (like lodash) for expressing state updates

?

@nitin42

Lifecycle events already exist. Maybe they can be improved? Do you have any suggestions?

SSR. There are several ad-hoc solutions.  See also: https://github.com/hyperapp/hyperapp-server for a WIP. Not sure if I should wait for SSR to release 1.0. I think not, but what do you think?

Controlled Components. You can create your own custom tags. Why should core be concerned about this?

Recycling of DOM nodes and recomposing components. How do you mean? lol

Oh! I really wanted to work on hyperapp and right now I am going through the Elm Architecture doc. Where can I start  ?
From recycling of DOM nodes I meant to say that re-using the dom nodes upon their disposal.

Or I can work on the website ? This will also led me to understand the core concepts and the design principles of the lib by writing about the api and their functionality. Let me know what you think !

Where can I start ?

I think here is a good place to start.

Or I can work on the website?

Be my guest! 👍

Hyperapp do well to "animate" a small part of a webpage. Thanks to the root param.
So, it could be great to have an interactive documentation.

Ok so I will be rendering the docs on web. Meanwhile I will go through the link you provided and will start contributin !

Is there something on (HyperApp core) which I can hack?

@nitin42 you could try build an app with HyperApp; find a limitation and try improve it or find something that you find writing over and over again and try abstract that process out to a custom element or mixin?
Or help build out functionality of example applications such as the Hacker News PWA. So we can get it up on https://hnpwa.com/

HNPWA seems a good idea!!

I could implement :

PWA
Comparing lighthouse scores
Offline caching
Cross browser
Web page test
App shell architecture

Should we use Github's "milestone" feature for 1.0? Not sure how it works, but this seems like the sort of use case they made that feature for.

@jbucaran What's the plan for the relationship between picodom and hyperapp? If hyperapp wants to eventually consume picodom as a dependency, should that be part of 1.0 milestone?

@andrewiggins At this point both vdom engines are the same, but I presume they might eventually defer since both projects have different values. HyperApp is opinionated about state management, while picodom isn't.

Why do we need both actions and events?
Take this really vanilla app:
app({
	state: {
		images: []
	},
	view: function(state) {
	  return h('div', {}, state.images.map(function(image) {
	    return h('img', {src: 'images/' + image.url});
	  }));
	},
	actions: {
	  updateImages: function(state, actions, data) {
	    state.images = data;

	    return state;
	  }
	},
	events: {
	  updateImages: function(state, actions, images) {
	    actions.updateImages(images);
	  }
	}
});

setTimeout(function() {
	emit('updateImages', []);
}, 5000);

This is cool, but why not allow this:
app({
	state: {
		images: []
	},
	view: function(state) {
	  return h('div', {}, state.images.map(function(image) {
	    return h('img', {src: 'images/' + image.url});
	  }));
	},
	actions: {
	  updateImages: function(state, actions, data) {
	    state.images = data;

	    return state;
	  }
	}
});

setTimeout(function() {
	emit('action', {name: 'updateImages', data: []});
}, 5000);

@brandonros Why do we need both actions and events?

Architecture
I think the separation is important from an architecture point of view.

Actions: You call us / them.

We receive your request and update the state on your behalf.

Events: We call you.

You can attach one or more handlers to the same event.

Now, you can also create custom events, in which case you are responsible for calling yourself, but they also work in the same way as the default events.
Return Values
Actions return a partial state or a thunk, or maybe just call several other actions. Actions can be async functions too.
Events reduce over some data by successively calling each event handler of the specified event.
Consider the following example.
const emit = app({
  events: {
    someEvent: [
      (state, actions, data) => data + 1,
      (state, actions, data) => data + 1,
      (state, actions, data) => data + 1
    ]
  }
})

And this is the result of firing someEvent with some data.
console.log(
  emit("someEvent", 10)
) // => 13

One-to-many
An event can have more than one callback associated with it.
myEvent: [handler1, handler2, handler3]

An action is always a single call.

These are some of my thoughts. I am sure that:
setTimeout(function() {
	emit('action', {name: 'updateImages', data: []});
}, 5000);

Would be interesting, and we can consider the implications of making emit work in both ways, allowing you also to emit default events.

@jbucaran I think it the time it took you to write this response, you could have made emit('action', {name: 'updateImages', data: []}); work. :)

@brandonros It didn't take so long and this is good documentation for subscribers too! :)
So, what about this:
const Remitter = emit => ({
  events: {
    send(state, actions, { name, data }) {
      return actions[name](data)
    }
  }
})

Now you can use it to call actions directly outside an app.
emit("send", { name: "updateImages", data: [...] })

Making it work for action might be possible too, but would require some extra hacking since action is one of the default events.

@jbucaran Thank you for taking the time to supply that example. I appreciate that and I hope it helps somebody else.
I've got one more "idea" that I came up with using this, just playing around with it.
 I'm trying to avoid Babel + JSX as well, just for exercise.
Back in the jQuery days, I used to do a lot of:
$('body').html('
a really big html string
')
I saw you guys had the ability to use the html\html string here``, but that requires Browserify.
Is it possible to get compiled/ported so you can just include a page, and then call h(html('long string')) or something similar?

I just spent 15 minutes trying to figure out why the "load" event isn't working.
Your codepad says it is 'init' instead of load. Please update the docs. https://github.com/hyperapp/hyperapp/blob/master/docs/events.md

Load is in 0.11 which should be out anytime now...  Master is ahead of npm publish by a bit.

Thunks do not work and when I try to install it, I get rollup.config.js not found

I recall someone else running into that when npm installing the package from master git repo.  I have always had to make local copy and create a symlink in node_modules to the local repo to test newest version.  Hopefully 0.11 will be out soon.

@brandonros As h implement the normalised hyperscript representation, that allow you to use hyperscript-helpers. That allow you to use an elm like syntax to create your virtual dom node.
import { h, app } from "hyperapp"
import helpers from "hyperscript-helpers"

const { div, h1 } = helpers(h)

app({
  state: {
    title: "Hi.",
  },
  view: state =>
    div(null, [
      h1(null, state.title)
    ])
})

I am also working on my own implementation, to create a more optimised (tree shaking, right h call) experience for Hyperapp and Picodom users.

@brandonros If you want to go completely standalone, this works (as long as you're targeting mostly es6 compatible browsers):

The reason this method is not usually mentioned or recommended is because there is a performance penalty to compiling the hyperx strings in browser when it could be handled by a browserify transform or webpack loader.
It's also possible to do something similar for a standalone html page written with JSX, but I can't remember the module name. babel-standalone I think.

@nitin42 Recomposing components (like lodash) for expressing state updates

What is this? I don't use lodash and I am not familiar with the concept "recomposing components" either. But it sounds interesting.

I think @nitin42 is referring to this:
var _ = require('lodash/core');
// Load the FP build for immutable auto-curried iteratee-first data-last methods.
var fp = require('lodash/fp');

Thanks @naugtur, but now I am more confused! 😄

waiting for SSR so much :)

@lyquocnam There are ways to hydrate pre-rendered HTML. We already use it at work 💯.

@jbucaran have some any example about hyperApp with backend and SSR ?

@lyquocnam Nope, no non-trivial SSR example, but we created hyperapp/server and could use some help.
/cc @andrewiggins @SkaterDad @corysimmons

Swamped for about the next month then I can work on some SSR solution. Anyone is welcome to beat me to it. 😬

Hey there!!! Sean from the webpack team. Please let me know if we can help support any AoT compilation needs via a webpack loader. :-D There are lots of great examples out there already but we are here to support ya'll!!!!

Now that #311 has been merged, what's remaining before achieving 1.0 status?

@okwolf Almost nothing! 🏄

@TheLarkInn what would it take for hyperapp to have default support for bundle splitting with async imports similarly to what Vue supports?
Seems to me it's just about accepting a promise where a component or custom tag is expected, but I only saw that at a conference ;)

I think that would have to be a Mixin of some sort since we don't ship with polyfills 🤔
Just thinking out loud here 😛

Webpack is buggy and bundles are huge or require a ton of config (there are literally books on how to use that project.............). This seems to go against what Hyperapp is trying to do (i.e. not overcomplicate simple things).
I'd vote not doing anything to support webpack and just build a simple bundler from scratch.

I am not personally a webpack user, but I can see users (many of them btw) who would want to try bundle their hyperapps with webpack.

@TheLarkInn There are lots of great examples out there already but we are here to support ya'll!!!!

Can you show me an example? 😄

Webpack... bundles are huge

They can get bigger than rollup if you are bundling tons and tons of modules, but that's because of how webpack works.

[webpack] work by wrapping each module in a function, putting them in a bundle with a browser-friendly implementation of require, and evaluating them one-by-one. That’s great if you need things like on-demand loading, but otherwise it’s a bit of a waste, and it gets worse if you have lots of modules.

and

If you need code-splitting, or you have lots of static assets, or you’re building something with lots of CommonJS dependencies, Webpack is a better choice. If your codebase is ES2015 modules and you’re making something to be used by other people, you probably want Rollup.

Source

Webpack is fine ❤ . I use it and the API is straightforward.
@corysimmons Let's try to be a bit more civil 😛
Also scope hoisting has helped a ton! My boilerplate counter is only 2kb gzipped using webpack, So bundles being very large might not apply so much anymore.
Let's not blame JS fatigue on a single library 🙏

Otherwise, I wonder if this should be a Mixin (official Mixin) or in core 🤔

Yeah I'm toxic.
And now you left the organization too? I don't get it, were you expecting anyone to support you on this or pretend you didn't say anything?

[ ] Optimize patch?

@JorgeBucaran is this referring to what #378 would do to help fix #373?

@okwolf Nope, #373 came up just recently. Optimize patch involves rewriting the patch function.
The objective is to rewrite it in less code and make it faster at the same time. 🏇💥

The objective is to rewrite it in less code and make it faster at the same time. 🏇💥

@JorgeBucaran I understand how to measure code size, but what metric are we using to determine performance in this instance?

We use js-framework-benchmark.

@VladShcherbin Thanks! Hyperapp now provides automatic SSR hydration out of the box since 0.14.0.

@JorgeBucaran yeah, I've seen hydration in the docs.
I mean, when a user requests a page, how do you generate html for this page on server (using node for example), is there any demo/repo of this?

@VladShcherbin Entirely up to you to handle. If I was worried about SEO and time-to-interactive in a large-ish app, I would just send the HTML to the client and let Hyperapp hydrate it.

Is there any demo/repo of this?

SSR is not my cup of tea, so I haven't been interested in making a demo or repo, but we hydrate pre-rendered HTML at work using Hyperapp already, so it works.
Maybe @Andyrj, @SkaterDad or @Zaceno can comment about this.

Sorry I'm no SSR-er either. Don't know how it works even in principle. But I'm curious to learn :)

One thing I do know works, is: setting up a fake browser environment in node using jsdom or undom (well undom has a bug atm, but anyway), and then running hyperapp server-side, and serialize the fake dom into html.
That would be server-side rendering with hyperapp, in my estimation. But I'm not sure that's what we're talking about.

@zaceno @VladShcherbin - I've been playing with hyperapp/ssr/jsdom recently.  I've thrown my discoveries and a working demo into a repo - https://github.com/maxholman/hyperapp-ssr-jsdom-example

@zaceno That would be server-side rendering with hyperapp, in my estimation. But I'm not sure that's what we're talking about.

That's pretty much it! :)

@JorgeBucaran really?! And then what? You just serve up the plain HTML? Or hydrate it into a client side instance (which sounds like a lot of extra work for no extra benefit). I rhink I just haven't understood the point of SSR... Why not just use PHP then? (Not being sarcastic. Just explaining what it is I don't get)

@JorgeBucaran is there a way to Log state updates and action information to the console?

@AlexanderChen1989 there's an official logger, although it's in the shop right now, getting a tune-up for compatibility with > 0.12.1 Hyperapp (post mixins). It will definitely be released before 1.0.

@okwolf how can i implement old events like behavior? i have read new source code, but cannot find events like function

@AlexanderChen1989 What were you trying to do exactly? Depending on what you are doing the solution may be different now that there are no custom events.

im curious how to implement logger?

@AlexanderChen1989 Here.

@JorgeBucaran good idea, thanks

This issue is pretty far out of date with what is actually being worked on for 1.0.0 now.
What should we do?

Hmm, I want to merge #497 before I publish 1.0 and before I publish 1.0 I want to publish 0.18.0 so people that need it right now can start using it.

Closing in favor of #507! 🎁 🎉🚀


Updating multiple cluster details in kubeconfig file

Hi Team, Is there a way we can maintain multiple cluster details in single kubeconfig file, if so how can we call the respective clusters while running kubectl commands.

Hello @dhineshbabuelango ,
Yes it is possible and most tools create new entries inside ~/.kube/config
To manage theses entries I recommend https://github.com/ahmetb/kubectx/
eksctl creates a new kubeconfig file per cluster in  ~/.kube/eksctl/clusters
so yo just have to set $KUBECONFIG


Demo crashing - patched

I just put in a patch for this issue in the Demo. There was a problem where views would be recycled, but they were for the wrong type of view. The issue caused a null reference to be returned for R.id.text2when recycling a convertView that had originally been a TextView.

Hi there, can I get more details in the patch, I'm havind the same issue. Thanks


enabled microprofile-tck/rest-client for bootable jar

Thanks for submitting your Pull Request!
Please delete this text, and add a link to the Jira issue solved by this PR.
Remember to use the Jira issue ID in the PR title, and any commits.

Hi @spriadka - I had failures when executing tests from a higher level directory, due to absolute paths in the cli script.
This could be fixed by https://github.com/spriadka/wildfly/pull/1, I did it to have a better insight for the usage of the following functionality: https://github.com/wildfly/wildfly-proposals/blob/8b32878344698f161d9101948a91b04ed6884e7c/bootable-jar/WFLY-13305_Bootable_Jar.adoc#configuring-cli-scripts-execution


confusing behavior in gitlist directory (no repo path given)

if I input the URL: http://localhost:8080/gitlist/
I get a pink error  message: Oops! An exception has been thrown during the rendering of a template ("Parameter "repo" for route "repository" must match "AngabladeDownloaders|dissertation|derp\.git|Prospectus|Memes" ("derp.git" given) to generate a corresponding URL.") in "index.twig" at line 16
if I put in the url to point it at a repository it behaves properly, but I notice that clicking the upper left "GitList" text links back to this base URL, so I assume it is supposed to display something like a listing of available repositories.
I'm not sure what is wrong.

Did you change the RewriteBase path in .htaccess?

I changed it to the path where gitlist sits relative to the domain name (so its just /gitlist/).

if I hadn't done that, I don't think the gitlist functions would work on defined repository paths though, and it was. Its only the base URL that doesn't work.

I'll install gitlist according to your setup and will check it out.

I cannot reproduce this behavious. Can you post your .htaccess here?


Adds SOKOL_NOAPI to WIN32

Minimal changes to support "NO_API" on windows.

Those CI errors are unrelated. Looks like the Spine C API has changed. I'll look into it.

Ok, I pinned the spine version used in the tests to 4.1 in the master branch.
Can you either do a merge from master or rebase your branch on top of latest master?

Indeed, definitely not a revolutionizing change by any means, but very handy if you need to step out of the supported render backends (like our use case with vulkan/webgpu-native). Shoutout to @castano who actually did the work.

Ok merged, thanks! I'll also add a small changelog blurb.

@pplux did you succeed to create a vulkan context using sokol?

@dortamiguel Haven't tried, I use it mostly for webgpu contexts, and it works great. I would assume that a vulkan context should be fairly similar, but I haven't tried.


Lerna build is failing

Description
I can't build a playground without having this error; just do yarn install and yarn lerna run build.

And this command solved it: export NODE_OPTIONS="--max-old-space-size=8192".

please update docs for node options needed.

Verified,
Docs updated.
https://github.com/threefoldtech/tfgrid-sdk-ts/blob/development/README.md
https://github.com/threefoldtech/tfgrid-sdk-ts/blob/development/packages/playground/README.md


Pyspark Backends

Hi,
I am interested in this ticket. I already touched to Pyspark before, it could be helpful ?

I'm tabling this for now. We can revisit later.


Application is launch failed and valuekey couldn't click.

Hi,
I am having problems with the application launch and the flutter value key couldn't click the flutter app.
the flutter_driver is deprecated so, I couldn't add the enableFlutterDriverExtension method so, so the build application is not accessible to appium-flutter-driver and appium-flutter-finder. Any update to using the integration test package in appium-flutter-driver?
Build application thrown below exception in terminal:

close as the latest version has some improvements to find an observatory url. Lets try the latest one first


Can not remove python environment uninstalled

First, I install Ironpython and Anaconda
Then, I install PTVS from VS
Then, I uninstall Anaconda
But Now Anaconda python still exists in my environments
And I can not remove it
How to solve it?

Thank you

It looks like Anaconda did not uninstall its registry keys correctly when you removed it.
Have a look under HKEY_CURRENT_USER\Software\Python\PythonCore\2.7 or HKEY_LOCAL_MACHINE\Software\Python\PythonCore\2.7 to see if they are still there. You can remove the key if you have already uninstalled Anaconda.


[BUG] User dropdown is empty

User dropdown (top right) on scratch page is empty

Commit: f9a3e52

this is known and a fix will be deployed on next site update


README doesn't specify Python version

The README does not specify which Python version is required...
I found that the VM provided had python2.7 and pip (for python 2.7) installed. The VM also had Python 3.5 (without pip3)...
My first attempt at following the README led me to run pip install -r requirements.txt under a Python2.7 environment

Actually now finding that it is supposed to be Python 2.7, but pip install -r requirements.txt chokes on setuptools in the VM...
Found some guidance on updating pip and then first installing a specific version of setuptools before installing requirements.txt: https://knowledge.udacity.com/questions/196688
Anyway, calling out Python2.7 in the README would be helpful.

@bsirang My understanding is that ros version used for the project only support python2.7. There are ways to use python3 but some packages might break.

Hi @bsirang,
We hope that https://knowledge.udacity.com helped you in resolving the issue.
Thank you


Add radius to all location searches

Jira ticket URL
https://dfedigital.atlassian.net/browse/TEVA-2646
Changes in this PR:

Removed javascript responsible for enabling an disabling the radius field
Changed radius distances
LocationPolygons' polygons and buffers now updated if the polygons has changed or we have changed the radius distances
Searches using location polygons will now retrieve buffer boundary using the radius given by the user
Updated content rendered by the heading component
Updated specs

Comments

Because of the changes in this PR, polygons are not actually used at all, except for calculating the buffer polygons. I have another branch locally where I have removed buffers from LocationPolygon. Instead I store the buffer polygons in the polygons attribute. I intend on creating a PR for it once / if this is approved.

Am I right in thinking that the updated import polygons task needs to be run before the other changes can be deployed?

Yeah, I'd guess so otherwise we'd offer radii which we don't have the buffer poylgons for, right?
How should we do that? Separate PR with the changes to the import polygons task and the changes to the radius_suggestions_builder (which has the new radius options)?


Annotating a model for Benders Decomposition

I am wondering if it is possible to use CPLEX.jl to annotate models to implement the CPLEX benders decomposition (see https://www.ibm.com/support/knowledgecenter/SSSA5P_12.8.0/ilog.odms.cplex.help/CPLEX/UsrMan/topics/discr_optim/benders/parameterBenders.html).
I have successfully used the MOI.RawParameter as suggested in the README, to set the CPLEX benders strategy to automatic. However, I would like to specify which variables should belong to which subproblem. To do so, I need to annotate the model, but am not sure if CPLEX.jl has these capabilities included (see https://www.ibm.com/support/knowledgecenter/SSSA5P_12.8.0/ilog.odms.cplex.help/CPLEX/UsrMan/topics/discr_optim/benders/annotatedDecomp.html).
Thank you!

This functionality isn't wrapped.
The first step is to wrap these C functions:
https://www.ibm.com/support/knowledgecenter/SSSA5P_12.8.0/ilog.odms.cplex.help/CPLEX/UsrMan/topics/discr_optim/benders/annotationsC.html
And then provide MOI attributes (like RawParameter) to get/set them.

Thank you for your response. Looking in the cpx_solve.jl file, I found that the functionality is in fact implemented already via newlongannotation and setlongannotations. I have the annotations working and benders decomposition running. However, I am getting some random strange behavior in the annotations. The last input to setlongannotations is to specify an array with long values. I am using the form [Clong(some_number]] for this input. Most of the times, the correct number is annotated, however, sometimes I get very strange behavior (see snippet of the .ann file generated by CPLEX):
<?xml version='1.0' encoding='utf-8'?> <CPLEXAnnotations> <CPLEXAnnotation name='cpxBendersPartition' type='long' default='0'> <object type='1'> <anno name='Ra[1,-1]' index='20' value='1'/> <anno name='Ra[1,0]' index='21' value='1'/> <anno name='Ra[1,1]' index='22' value='1'/> <anno name='Ra[1,2]' index='23' value='1'/> <anno name='Ra[1,3]' index='24' value='1'/> <anno name='Ra[1,4]' index='25' value='1'/> <anno name='Ra[2,-1]' index='26' value='1'/> <anno name='Ra[2,0]' index='27' value='4294967297'/> <anno name='Ra[2,1]' index='28' value='1'/> <anno name='Ra[2,2]' index='29' value='1'/> <anno name='Ra[2,3]' index='30' value='1'/> <anno name='Ra[2,4]' index='31' value='1'/>
You will notice that the variable with index 27 is annotated with<PHONE_NUMBER>. However, I am specifying that it should be 1 (i.e. Clong(1)). When I rerun my code, a different variable is randomly annotated to some very large positive or negative number. Any idea what is going on? Is this an a problem with C.jl or IBM?


Add icons watch and build command

Currently the icons command must be run separately (because this is not a directory changed often) but it would most likely be beneficial for some projects.

Added in https://github.com/rachelwe/webtopie-build-process/commit/8a35ec7afb3878c0d9a150b994293d592a2e4439

Added in https://github.com/rachelwe/webtopie-build-process/commit/8a35ec7afb3878c0d9a150b994293d592a2e4439


Allow for deep linking of queries

Is your feature request related to a problem? Please describe.
Sometimes I want to forward a query on the bron website to someone else. This is currently not possible because the search query is always fixed
Describe the solution you'd like
Allow to get the query and/or other features via the url
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This allows for queries like http://bron.live/?query=test

This is great! Will this also work for the selected additional settings (ie. sources and location)?


Nullify the minor revision attributes on copy

Fixes #480
Writing the issue took more time than the fix.

"Sometimes, writing the issue is solving the issue"
-- Confusius


'cp' is not recognized as an internal or external command

I have checked all the prerequisites below and I'm yet experiencing a problem

[ ] Read the README.md
[ ] Have the extended version of Hugo installed
[ ] Used the exampleSite's config.toml as a reference

Describe the bug
A clear and concise description of what the bug is. [REPLACE]
This cp -a themes/hugo-curious/exampleSite/* . does not working for Windows 10.  Double checking if this is correct.
Desktop (please complete the following information):
Windows 10

Chrom

Hello,
You can try the following solutions:

Use: cp -r themes/hugo-curious/exampleSite/* .
Use file manager (Explorer) to copy all the content that folder (themes/hugo-curious/exampleSite/) to the root folder of your site (the folder that contains themes).

Thank you. Great theme.

Is this file no longer available? _override.sass


Release Google.Cloud.Deploy.V1 version 2.9.0

Changes in this release:
New features

Added platform log RolloutUpdateEvent (commit 13c15ec)

Created release for Google.Cloud.Deploy.V1-2.9.0


Merge back

Hi, our apologies for not replying issues in a timely manner, we were on a work peak for months.
We will try to merge back some of your work and publish an official release to the registry ASAP

Sounds  good Happy to help anyway I can.

Sounds  good Happy to help anyway I can.

WIP: https://gitlab.com/sbitio/terraform-provider-hiera5/-/merge_requests/11

WIP: https://gitlab.com/sbitio/terraform-provider-hiera5/-/merge_requests/11

Published: https://registry.terraform.io/providers/sbitio/hiera5/latest
Your contributions will be very welcomed on original project on GitLab

Published: https://registry.terraform.io/providers/sbitio/hiera5/latest
Your contributions will be very welcomed on original project on GitLab


MS Excel Viewer problem...

The file will run normally on the computer where MS Excel is installed,
but the .xlsx file can not be opened on the computer where only MS Excel Viewer is installed.
It seems that the Excel Viewer does not recognize the file.
Is there a solution?

Can you test against the XLS file from http://sheetjs.com/demos/table ? Next to "XLS Excel 97-2004 Binary" you will see a button "Export to XLS!".  Click it and try viewing the downloaded file.

Tested against Excel Viewer (12.0.6219.1000) using the generated files from the test write script https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js .  Here's the generated XLSX file:
sheetjs.xlsx

Excel viewer opens the file, but it shows 3.5E+308 for array formulae with no precomputed values.  Those cells were generated with the command:
XLSX.utils.sheet_set_array_formula(ws, 'E1:E4', "TRANSPOSE(A1:D1)");

My best guess is that it uses the cached values and does not actually perform the calculations.  It even shows unicode characters properly, like unicode U+0BEE ௮.  If you can share a reproduction (a bad file generated by the library) we can take a deeper dive.


ESLint 6.0 will change the default options for no-confusing-arrow

https://eslint.org/docs/6.0.0/user-guide/migrating-to-6.0.0#-the-no-confusing-arrow-rule-is-now-more-lenient-by-default

The default options for the no-confusing-arrow rule have changed from { allowParens: false } to { allowParens: true }.

Need to figure out how to deal with this.

Maybe the validators should take ESLint version into account. This could help #55 as well.


/locales/ dir is not live reloading in 4.0.0-rc1

Seems like /locales/ (for I18n) is not being watched.

Ok, thanks, will look into it.

Looks like something upstream in Listen, working around now.

Should be fixed.


Addressed issue 6

and added some whitespace on status message for files still downloading
Also removed doubled up code

Addresses issue #6


upnp-list script bundled have error

Dear owner of easy_upnp,
I'm new to use "easy_upnp".
Firstly, I executed upnp_list sript bundled "easy_upnp" bin directory.
I faced the error message the following.
Could you advice me to resolved that?
The upnp_list script returns "Found 58 devices", so a part of "easy_upnp" works well.
Best regards,
yama@tnt:~/.gem/ruby/gems/easy_upnp-1.1.8/bin$ ls
./  ../  upnp-list*
yama@tnt:~/.gem/ruby/gems/easy_upnp-1.1.8/bin$ ./upnp-list
Starting SSDP search...
Found 58 devices:
                          Name                                          UUID Services
/cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_upnp/upnp_device.rb:70:in `fetch_device_name': Couldn't resolve device name because no endpoints are defined (RuntimeError)
        from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_upnp/upnp_device.rb:41:in `device_name'
        from ./upnp-list:38:in `block in <main>'
        from ./upnp-list:37:in `each'
        from ./upnp-list:37:in `<main>'

Should be fixed. Please try updating to 1.1.9.

Dear sidoh-san,
Thank you for fixing.
v1.1.9 fixed the my comments.
I had another error.
Could you fix that?
yama@tnt:~/.gem/ruby/gems/easy_upnp-1.1.9/bin$ ls
./  ../  upnp-list*
yama@tnt:~/.gem/ruby/gems/easy_upnp-1.1.9/bin$ ./upnp-list
Starting SSDP search...
Found 56 devices:
                          Name                                          UUID Services
                   KJ-49X8300D     uuid:8273bf4b-7776-4862-39c7-69e5cb27a19d urn:dial-multiscreen-org:service:dial:1

                   KJ-49X8300D     uuid:29d3b862-af69-1678-c821-a033a9086f3c urn:dial-multiscreen-org:service:dial:1

/cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.9/lib/easy_upnp/upnp_device.rb:70:in `fetch_device_name': Couldn't resolve device name because no endpoints are defined (RuntimeError)
        from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.9/lib/easy_upnp/upnp_device.rb:41:in `device_name'
        from ./upnp-list:40:in `block in <main>'
        from ./upnp-list:37:in `each'
        from ./upnp-list:37:in `<main>'

I woke up realizing I'd forgotten to complete the fix before pushing.
Please try 1.1.10.


dclexperience Position -7, 7 : Bella's dialogue stops all of a sudden and dialogue box cannot be closed

Explorer Alpha build version:
(Version 0.3.335-g8f637032-main
(windows))
Issue Description:
Position -7, 7 : Bella's dialogue stops all of a sudden:

And dialogue box cannot be closed, even if the user runs far away:

Steps to reproduce:

Go to position -7, 7
Talk to Bella

Expected behaviour:
Dialogue should be ok and should finish
Current behaviour:
Dialogue is interrupted and dialogue box cannot be closed
Reproduction rate:

[ ] < 10%
[ ]  < = 25%
[ ]  50%
[ ]  < = 75%
[ X]  100%

Severity:

[ ] Cosmetic
[ ] Minor
[ X] Medium
[ ] High
[ ] Critical
[ ] Blocker

Priority:

[ ] High
[X ] Medium
[ ] Low

Platforms / OS:

[X ] Windows 11
[ ] Windows 10
[ ] Mac Sonoma
[ ] Mac (specify the version on Additional Notes)

This may be related to the issue @mikhail-dcl is working on

@anicalbano can you retest?


feat: custom directive v2

Simplify custom directive API to match the template ref API.

Great. I had this idea before. Thanks for starting it
can you explain how this API behaves differently from before?


Add mac support

Hi! I added a target for building for mac and adapted the auto config locator function to try the paths for all the platforms, which should include mac. I haven't tried if it works yet, but when I get some time I can install Steam & TF2 on my mac and try it out. Is there something else that's platform-specific that I should change?
PS: I also added a build target for Arch linux (which is what I use). I hope that's okay :)

To update. Have yet to find someone to assist with mac building. If you are interested to assist please contact me on our discord or open a mod mail on there and request to talk with me about this.
Id like to have mac support so getting someone to help with this long term is ideal :)
p.s sorry for the long wait, trying to catch up with pr's here again.

Sorry, I don't think I have enough time for this unfortunately :(
Closing this PR for now


[EXAM] Generate participations for all exercises in student exams

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.

[X] Server: I added multiple integration tests (Spring) related to the features

[X] Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)

[X] Server: I implemented the changes with a good performance and prevented too many database calls

[X] Server: I documented the Java code using JavaDoc style.

[X] Client: I added multiple screenshots/screencasts of my UI changes

[X] Client: I translated all the newly inserted strings into German and English

Motivation and Context

To reduce the load on the server at exam time, instructors should be able to generate the necessary participation objects manually by clicking a button in the exam management UI.
Description

Closes #1616
Steps for Testing

Log in to Artemis
Navigate to Course Administration
Create an Exam with some Exercises
Create the student exams
Click the Start Exercises Button and look in the network tab. The generated participations will be in the response

Screenshots

Works as intended. Well done!


Improve stability in windows

Fixes #9.

@NipunaRanasinghe :(
2019-02-28 14:02:20,105 [   9415]   INFO - ntellij.IntellijLanguageClient - Added server definition for bsl
2019-02-28 14:02:20,106 [   9416]   INFO - ntellij.IntellijLanguageClient - Added server definition for os
2019-02-28 14:02:20,106 [   9416]   INFO - ntellij.IntellijLanguageClient - Added definition for command : path java args : -jar D:\git\1c-syntax\bsl-language-server\build\libs\bsl-language-server-0.4.0-dev+45.dev.jar --diagnosticLanguage en
2019-02-28 14:02:20,106 [   9416]   INFO - .openapi.application.Preloader - org.github._1c_syntax.intellij.bsl.BSLPreloadingActivity took 7 ms
2019-02-28 14:02:20,478 [   9788]   INFO - penapi.project.DumbServiceImpl - Running dumb mode task: com.intellij.util.indexing.UnindexedFilesUpdater@30d6df52
2019-02-28 14:02:20,513 [   9823]   INFO - ntellij.internal.IconsLoadTime - IMG load time: ide_startup=18,32ms, average=0,92ms, median=1,46ms; number of icons: 20
2019-02-28 14:02:20,513 [   9823]   INFO - ntellij.internal.IconsLoadTime - SVG load time: ide_startup=196,97ms, average=5,47ms, median=7,40ms; number of icons: 36
2019-02-28 14:02:20,584 [   9894]   INFO - .diagnostic.PerformanceWatcher - Pushing properties took 104ms; general responsiveness: ok; EDT responsiveness: ok
2019-02-28 14:02:20,676 [   9986]   INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 90ms; general responsiveness: ok; EDT responsiveness: ok
2019-02-28 14:02:21,035 [  10345]   INFO - ntellij.IntellijLanguageClient - Opened РаботаСКоннекторами.os
2019-02-28 14:02:21,036 [  10346]   INFO - ntellij.IntellijLanguageClient - Instantiating wrapper for os : file:///D:/git/nixel2007/entity/
2019-02-28 14:02:21,045 [  10355]   INFO - ntellij.IntellijLanguageClient - Adding file РаботаСКоннекторами.os
2019-02-28 14:02:21,047 [  10357]  ERROR - plication.impl.ApplicationImpl - null
java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
	at java.util.Arrays.asList(Arrays.java:3800)
	at com.github.lsp4intellij.client.languageserver.serverdefinition.CommandServerDefinition.createConnectionProvider(CommandServerDefinition.java:42)
	at com.github.lsp4intellij.client.languageserver.serverdefinition.LanguageServerDefinition.start(LanguageServerDefinition.java:59)
	at com.github.lsp4intellij.client.languageserver.wrapper.LanguageServerWrapper.start(LanguageServerWrapper.java:412)
	at com.github.lsp4intellij.client.languageserver.wrapper.LanguageServerWrapper.connect(LanguageServerWrapper.java:254)
	at com.github.lsp4intellij.IntellijLanguageClient.lambda$editorOpened$0(IntellijLanguageClient.java:148)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314)
	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:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
2019-02-28 14:02:21,053 [  10363]  ERROR - plication.impl.ApplicationImpl - IntelliJ IDEA 2018.3  Build #IC-183.4284.148
2019-02-28 14:02:21,053 [  10363]  ERROR - plication.impl.ApplicationImpl - JDK: 1.8.0_152-release; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-02-28 14:02:21,053 [  10363]  ERROR - plication.impl.ApplicationImpl - OS: Windows 10
2019-02-28 14:02:21,062 [  10372]  ERROR - plication.impl.ApplicationImpl - Plugin to blame: Language 1C (BSL) version: 0.2.0
2019-02-28 14:02:21,062 [  10372]  ERROR - plication.impl.ApplicationImpl - Last Action:

@nixel2007  I've added another minor fix, so should be fixed by now. Could you please try with the latest jitpack build of master branch?

No crashes of LSP, but i still have some errors in logs (2 different kinds).
2019-03-01 11:29:23,067 [  12551]  ERROR - emon.impl.LocalInspectionsPass - Tool #LSP registers INFORMATION level problem in batch mode on BSL File. INFORMATION level 'warnings' are invisible in the editor and should not become visible in batch mode. Moreover, cause INFORMATION level fixes act more like intention actions, they could e.g. change semantics and thus should not be suggested for batch transformations
java.lang.Throwable: Tool #LSP registers INFORMATION level problem in batch mode on BSL File. INFORMATION level 'warnings' are invisible in the editor and should not become visible in batch mode. Moreover, cause INFORMATION level fixes act more like intention actions, they could e.g. change semantics and thus should not be suggested for batch transformations
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:134)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.doInspectInBatch(LocalInspectionsPass.java:141)
	at com.github.lsp4intellij.editor.EditorEventManager.lambda$null$1(EditorEventManager.java:198)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
	at com.github.lsp4intellij.editor.EditorEventManager.lambda$runInspection$2(EditorEventManager.java:196)
	at com.intellij.openapi.project.DumbServiceImpl.lambda$smartInvokeLater$7(DumbServiceImpl.java:435)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:435)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:419)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:403)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:719)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:668)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:363)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
2019-03-01 11:29:23,070 [  12554]  ERROR - emon.impl.LocalInspectionsPass - IntelliJ IDEA 2018.3  Build #IC-183.4284.85
2019-03-01 11:29:23,070 [  12554]  ERROR - emon.impl.LocalInspectionsPass - JDK: 1.8.0_152-release; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-03-01 11:29:23,070 [  12554]  ERROR - emon.impl.LocalInspectionsPass - OS: Windows 10
2019-03-01 11:29:23,075 [  12559]  ERROR - emon.impl.LocalInspectionsPass - Plugin to blame: Language 1C (BSL) version: 0.2.0
2019-03-01 11:29:23,075 [  12559]  ERROR - emon.impl.LocalInspectionsPass - Last Action:

and several warns like this:
2019-03-01 11:29:23,189 [  12673]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 11
  character = 123
] line : 	КлючХранилища = ПолучитьКлючХранилища(ОбъектМодели.ТипСущности(), ТипЗнч(Коннектор), СвойстваКоннектора.СтрокаСоединения); column : 126 offset : 340

So the features ( completion and diagnostics ) are working with these warnings or still don't work at all?

Completion was disabled some time ago, I can check it later.
I can't see any diagnostics in idea window, only this "warn" Messages for each of them.

Can i enable any debug logs for lsp4intellij? Or Maybe some remote debug session via skype/zoom/teamviewer?

@nixel2007 forgive me for the late reply as I was busy with some other tasks :( Actually the error that you've encountered occurs after I've refactored and improved the diagnostic highlighting process. Since the fix seems to be non-trivial, I've reverted it back to the intellij-lsp way until I figure out the fix :) Could you please try with the master?

@NipunaRanasinghe good news - i see "errors" and "warnings" in idea :)

bad news - no highlighting or diagnostic messages on "hints" and "informations". but there is "inspection" bubble.

@nixel2007 Oh great news! I'll try fix hints and information as well (should be a trivial fix). Were you able to check completion and goto definition as well?

I have only dummy implementation of completion this time. I'll try to write dummy goto and check both of them. But only on the next week.


Can't Access controls from MVVM View

I would like to put the SubscriberMessageView control into my ComputeScenarioEditor. It always throws an exception and says that it can't find it. I am working in the New_Model_Integration branch. I even tried accessing the control from the code behind and that didn't work either.

This was completed with the help of Brennan. We needed to change the namespace of the View to be HEC.FDA.View


pluckConfig.gqlMagicComment breaks client preset generated graphql overload source's format

Which packages are impacted by your issue?
@graphql-codegen/gql-tag-operations-preset
Describe the bug
pluckConfig.gqlMagicComment breaks client preset generated graphql overload source. it trimmed \n and spaces.
Your Example Website or App
https://stackblitz.com/edit/github-vffocy?file=src%2F__gql__%2Fgql.ts,src%2FApp.tsx,codegen.ts
Steps to Reproduce the Bug or Issue
just run and check the generated types:
yarn gql-gen

Expected behavior
generated source should be followed all the template string format, this is the correct one.

Screenshots or Videos
No response
Platform
follows stackblitz example
Codegen Config File
follows stackblitz example
Additional context
even just leave pluckConfig: {} also breaks.
No response

I find the reason for this problem.  when loading documents, CLI will pass pluckConfig to the CodeFileLoader object. (https://github.com/dotansimha/graphql-code-generator/blob/master/packages/graphql-codegen-cli/src/load.ts#L75)

but when developer adds config to pluckConfig, CodeFileLoader would merge two config, and its mergeConfig method does not recursively copy, it only copy one layer of config object, so developer's config would overwrite the CLI's config (https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/code-file/src/index.ts#L76)

A simple solution is to add skipIndent to codegen.ts's config.
https://stackblitz.com/edit/github-vffocy-ba7ruw?embed=1&file=README.md
But I think we better change the merge method of CodeFileLoader to avoid overwriting.


Render OBJ with no map

I was wondering if I can render my own .obj, textures, meshes with VTS but in an unknown space, I mean not attached to geographical coordinates?

You could potentially create your own reference frame in local coordinates, but it isn't trivial. It would have to host your own vts server and create a reference frame.. I wondered about doing this myself, but it always seemed too imposing a task.
Have you considered something like threejs?


chore: Release SAM CLI v0.22

Issue #, if available:
Description of changes:
Checklist:

[ ] Write Design Document (Do I need to write a design document?)
[ ] Write unit tests
[ ] Write/update functional tests
[ ] Write/update integration tests
[ ] make pr passes
[ ] Write documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

sam package tests passed in Linux. But due to a bug in how we ignore Build related integ tests, the "merge-to-master" AppVeyor run is stuck.


Implement the ICCV 2015 best paper "Deep Neural Decision Forests"

The creators of Deep Neural Decision Forests [1] implemented their networks in DMLC/CXXNET which has been superseded by this project. It is much more efficient to estimate the leaf node probability distributions with a large mini-batch instead of the whole training set. One of the major advantages of CXXNET brought to their proposed dNDF.NET was distributed training in which effective mini-batch size was the single node mini-batch size multiplied with the number of cluster nodes and at the same time training was much faster than on a single node.
By far, the only attempt at implementing the paper on GitHub is based on Theano and incomplete.
[1] P. Kontschieder, M. Fiterau, A. Criminisi, and S. Rota Bulo'. Deep Neural Decision Forests. ICCV 2015.

I built neural decision forests in Lasagne (https://github.com/SkidanovAlex/ShallowNeuralDecisionForest), where I actually managed to evaluate leaf probabilities in a vector form, allowing the entire model to be executed on a GPU. I was, however, never able to get as good results as theirs (it was on par with a regular NN on all the tasks I tried it, but was taking longer to converge). They never responded to my email to them with request for more details, so I don't know what exactly I am doing different.

I think they had the order wrong: decision forests are good at handling discrete data. Putting a DNN under them takes that away and it's just another DNN ensemble. You should put DNNs on top of decision forests.

Close for now since nobody seems is interested in implementing this feature. Welcome to reopen if have updates.


Implement AssetMetadataByIds endpoint of ShieldedPool service

https://github.com/penumbra-zone/penumbra/blob/64f3399aa9eb6df8d02ed6c91628945976cbf046/crates/core/component/shielded-pool/src/component/rpc.rs#L67-L72
any client using the web block processor will be ratelimited immediately when attempting genesis block sync. this is due to the massive number of requests issued during initial validator discovery (currently, there are 437 validators).
PR exists at https://github.com/penumbra-zone/web/pull/1392 in web to avoid the behavior, but most of these requests could become a single request if this batch request endpoint were implemented.

This is a duplicate of https://github.com/penumbra-zone/penumbra/issues/4162 that was closed in favor of https://github.com/penumbra-zone/web/issues/1189


tRNA secondary structure graphics

On tRNA gene pages, show a graphic of the (known or predicted) secondary structure.
Todd Lowe's group can provide simple images, e.g. http://lowelab.ucsc.edu/cgi-bin/draw_trna.cgi? chrII.trna2
Also follow up on a program that would map the tRNA sequence onto a model and translate the coordinates into human readable comments such as "in D-loop", "in TPsiC stem", "at wobble base of anticodon", etc. (they told Antonia it was being developed in 2012).
(Mark M. also said "The following web service is able to draw the images on the fly. http://pseudoviewer.inha.ac.kr/", but that page now times out for me.)

Actually we  are really unlikely to do this, but Rfam plan to so we can just ass link outs....

Look for  a web service which works...
Things which would never get up the list now seem infinitely feasible within current time frame...
Still low priority though...

future doc


Benchmark against Blueprinter & Alba

I would suggest including Blueprinter & Alba to your benchmarks. They are two of the fastest available options.
Thank you for pushing the Rails serializers work forward 🙌

Thanks for the suggestion, we will add it as soon as we can.


In UI/UX terms, it's a Pill, not Bubble.

In UI/UX terminology this kind of element is referred as "pill": [Microsoft] Google].
While "bubble" is commonly used to describe elements in messaging or notifications used to display content, it is usually a dynamic, floating element that can be moved, dismissed, or removed.
I know, this may seem silly and unimportant, and too much work to change it. But before you close this issue, why even raise this? Terminology may seem unimportant, but it will bite you hard down the line, leading to all kinds of problems in communication due to misunderstandings. Or worse, when terminology influences design in the wrong way.

In UI/UX terms maybe, but this name is more for the rounded style of the cards.
And also... it's too late 👀


Automatically Hash Uploaded Documents to Produce an IPFS CID

User Story
As a researcher, when I upload an image or .wacz file to UWAZI, I want to be able to view the asset's CID and use the CID to query for additional metadata. This CID should be the exact same CID as if I had run Kubo ipfs add with the settings:
--only-hash=true
--wrap-with-directory=false
--cid-version=1
--hash=sha2-256
--pin=true
--raw-leaves=true
--chunker=size-262144
--nocopy=false
--fscache=false
--inline=false
--inline-limit=32

Note that many of these settings are the default, but for the purposes of being clear in case the default ever change, we want to specify them explicitly.
Methods
The quickest solution may be to bypass UWAZI entirely. The uploaded files are located in a folder on the UWAZI backend called "uploaded_documents". Information about the uploaded files are in UWAZI's MongoDB database under a collection called "files". Here is the file model/schema. MongoDB has command line access. So, the rough idea would be to install Kubo on the server that is hosting the UWAZI backend, run ipfs add with access to the uploaded_documents files, and then use the MongoDB command line access to add a new key called SHA256CID with the CID as the value. If this could be triggered whenever a new File document is added to MongoDB, that would be ideal. For the purposes of a prototype, if we need to run it manually, that might be ok.

Alternative: The Longterm "Right" Way to do it
[To be updated as we learn what the UWAZI team recommends]
It seems like the cleanest way is to follow the model of already existing UWAZI services. See the PDF Metadata Extraction docs for an example of expected installation and usage.
However, we don't want have to transfer the files at all to be able to hash them, as that would mean potentially transferring 65GB+.
We would want the CID to be written back to the MongoDB doc (probably through the mongoose model) after the file is hashed.
For the CID code, there are many official implementations. There's a JS implementation that would be nice to use since UWAZI is already a Node project. But if we find that is too slow, we might want to look into something like Rust. Just using Kubo directly would be fine.

Further Links
See https://github.com/huridocs/uwazi/issues/5629 for communication with the UWAZI team about how to best add this feature.

UWAZI has custom metadata fields built-in to the UI. I wonder if maybe a better path than modifying the "files" collection would be to add instances of an existing custom metadata attribute.
Here's an example one I created:

The content of these fields goes into the "entities" collection like so:
{ "_id" : ObjectId("6426fea8789706a3ce183ed3"), "language" : "en", "mongoLanguage" : "en", "sharedId" : "vs9r9aojbo",
"title" : "Example Document",
"template" : ObjectId("5bfbb1a0471dd0fc16ada146"), "published" : false,
"creationDate" :<PHONE_NUMBER>290, "editDate" :<PHONE_NUMBER>735,
"metadata" : { "cid" : [ { "value" : "abc123" } ] },
"user" : ObjectId("58ad7d240d44252fee4e6212"), "permissions" : [ { "refId" : "58ad7d240d44252fee4e6212", "type" : "user", "level" : "write" } ], "obsoleteMetadata" : [ ], "__v" : 0 }

So I think the code could put the CID values in there, and it would already be integrated with the UI.

POST data for changing custom metadata field:
-----------------------------123600231541551552133023611618
Content-Disposition: form-data; name="entity"

{"_id":"642708bad2bf415bc5d4377c","language":"en","metadata":{"cid":[{"value":"abc12345"}]},"sharedId":"mep9lmsm2f9","template":"5bfbb1a0471dd0fc16ada146","title":"Slide backlight template","attachments":[],"documents":[{"_id":"642708bad2bf415bc5d43791","entity":"mep9lmsm2f9","type":"document","filename":"1680279738877uizclgq1spa.pdf","originalname":"slide_backlight_template.pdf","mimetype":"application/pdf","size":24022,"status":"ready","creationDate":1680279738899,"language":"other","toc":[],"totalPages":1}]}
-----------------------------123600231541551552133023611618--

I was able to pare this down into a more more minimal request:
{"_id":"642708bad2bf415bc5d4377c","metadata":{"cid":[{"value":"abc123"}]}}
So only the ID needs to be found for the file.
curl command:
curl 'http://localhost:3000/api/entities' -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0' -H 'Accept: application/json' -H 'Accept-Language: en-CA,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, deflate, br' -H 'X-Requested-With: XMLHttpRequest' -H 'Content-Type: multipart/form-data; boundary=---------------------------6869281615867978331831713992' -H 'Origin: http://localhost:3000' -H 'Connection: keep-alive' -H 'Cookie: locale=en; connect.sid=s%3AhmjCXfpiHy-GY5X3RoBT582DcULMmiKS.W0Nm%2FL%2BcXtwo6%2FxrIGAbsFjzJFXmY6kjjjq38pLOVXc' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-binary $'-----------------------------6869281615867978331831713992\r\nContent-Disposition: form-data; name="entity"\r\n\r\n{"_id":"642708bad2bf415bc5d4377c","metadata":{"cid":[{"value":"abc123"}]}}\r\n-----------------------------6869281615867978331831713992--\r\n'

The entity metadata was a great find! Since UWAZI allows for multiple files per entity, we will need to restrict our prototype to one file per entity. I realized I was already making that assumption in how the UI would work, so lets assume that we're only working with one file per entity. If we need to, we can come back and enable multiple files per entity later.


Size classes

Maybe we should return if the pip window is small, medium or large instead of just the value? Since it will depend on the ratio compared to the screen, and that will change based on how large the view etc is.

Maybe we could pass the frame of the view through to the dockableController and based on that we can determine the relative size?


Nikhil/linkfix

Description of your changes
fix the standalone and Kubernetes hyperlink on the page https://kubevela.io/docs/install
"Fixes #6238":
I have:

[ x] Read and followed KubeVela's contribution process.
[x ] Update sidebar.js if adding a new page.
[x ] Run yarn start to ensure the changes has taken effect.

-->

Related: https://github.com/kubevela/kubevela.github.io/issues/1268 Closing this PR because this is not the root problem.


fix: support up to nanosecond precision in date-time values

:tada: This PR is included in version 9.5.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Prevent assigning of empty barcode data

Prevents empty barcodes from being assigned via the API

@SchrodingersGat the CI tests might need a small change


Merged in latest changes from FastLED 3.1 branch, including new gradi…

…ent palettes. Fixed error in Fire2012 example.
I'm able to build and flash ColorWaves to my Spark Core using the particle CLI with these changes.  Please let me know if I missed anything, messed anything up, etc.  Thanks!

Ah, thank you!  I'm really hoping to be able to merge the sparkcore github back to the main fastled github - i hate that sparkcore requires a github structure the way that it does that's basically incompatible with other arduino environments.

No problem, glad to help!  Yeah, that would be nice.

Oh, sorry, I didn't bump the version number, so these changes probably won't be available in the online IDE.


Is it possible to opt-out of array merging?

It's a really nice feature, but sometimes it's not the right thing.
Or is there a quick fix how to prevent the merging of all array items, but rather replace the array with the one provided as the second argument?

This seems to be the most common request by far.  Check out this comment https://github.com/KyleAMathews/deepmerge/pull/32#issuecomment-249732353 and chime in on #14.

If #37 is merged, you could achieve your purpose with this code:
function useSource(destinationArray, sourceArray) {
  return sourceArray
}
var output = deepMerge(destination, source, { arrayMerge: useSource })

Please comment on #37 if you have an opinion.

Uhm, why isn't this the default behaviour when we pass in false as arrayMerge? Seems redundant to have to pass a custom function to get this outcome.

Are you open to a PR that introduces arrayMerge: false as a valid option?

I'd rather not change the signature to make boolean types valid for arrayMerge in additions to functions.  What would passing in true mean?
Is this so bad?
const dontMerge = (destination, source) => source
var output = deepMerge(destination, source, { arrayMerge: dontMerge })

Perhaps this use case just needs to be documented in the readme?

It's worse, not DRY, and needlessly verbose in my opinion, compared to
const output = deepMerge(destination, source, { arrayMerge: false })

If you use deepMerge a lot all over your code base, you're going to have to create that dontMerge function all over the place, or stash it in a helper somewhere and remember to require it every time you require deepmerge. Just seems like a hassle.
I'm not sure where your worry for changing the signature comes from, but as javascript is not a strongly typed language why not take advantage of the fact and allows support for false. It doesn't mean you also need to add support for true, and you can document it properly.
A simple 3 lines of code could handle it:
if (options.arrayMerge === false) {
  options.arrayMerge = (destination, source) => source;
}

It would just convert the false value in the options to the appropriate "no change" handler, so that the rest of the codebase can remain unchanged and unaffected.

Allowing for different types of option values is certainly valid, but it increases the complexity of the API.
The job of libraries like this is to expose a sensible API.  There are a hundred different use cases for merging, I'm not going to add feature bloat to favor some of them, even if it's only a few lines at a time.
Check out how many issues were closed by #37 - imagine what the code base would look like if each consumer's case was handled individually.
DRY is still within your grasp - as you said, if you want the same set of options everywhere by default, you can create a module in your app's codebase that defaults to those options.


ZooKeeper configuration backend

Other solution desired for distributed configuration support is ZooKeeper, this is also part of the zero config approach (#66)

Closing for now as we're not heading quite this direction and need to really architect HA before implementing parts.


Delta Lake tables do not support dropping of partitions.

support dropping of partitions
The following SQL cannot delete the delta table partition：
alter table clob_dw.ods_t_task_svc_task_1d drop partition (ds = '20220903')
how to solve this problem?

You can just run delete from clob_dw.ods_t_task_svc_task_1d where ds = '20220903'. Delta's partitions are decided by the data itself. If the data for a partition doesn't exist in a table, the partition will not exist either.

Closing this as Delta will not support the hive partition management commands (add/drop partition) as it doesn't match Delta's design.


Add better validation for SGF Properties

The SGF spec lives here: https://www.red-bean.com/sgf/. The Go format lives here: https://www.red-bean.com/sgf/go.html
I created something like this here: https://github.com/Kashomon/bodoko/blob/master/core/properties.go
Long time ago. Probably would do it differently now.

Related:

https://github.com/Kashomon/glift-core/blob/master/src/sgf/sgf.js
https://github.com/Kashomon/glift-core/blob/master/src/rules/properties.js

To clarify requirements, I think it would be good to have a set of known properties, like in glift. At first we can warn if we see an invalid property. I'm not sure what other error checking is useful,

Some ideas:
package props

type Prop string

const (
  GB Prop = "GB"
)

var allProps = map[Prop]bool{
  "GB": true,
}

func Exists(prop string) bool {
  _, ok := allProps[prop]
  return ok
}

In game, you could represent props:
data map[Prop][]string
``


Print a note about finding attribute (* top *) in hierarchy

What are the reasons/motivation for this change?
As suggested in https://github.com/YosysHQ/yosys/issues/3717#issuecomment-2460672212, make it more obvious to the user if the top module was selected due to an attribute overriding the heuristic.
Explain how this is achieved.
Print a log message. If multiple modules are marked (* top *), the message gets repeated multiple times, matching how the code works (the last attribute encountered while iterating over design->modules() overrides any previously seen attributes).

Thanks, this is quite useful!


Original work is not credited

I appreciate you taking the time to update this library, but you should def credit the original work.
Apart from bring rude and reflecting badly on you personally, this kind of behaviour really opens you up to legal action which is definitely not worth it for just adding the proper attribution.
https://github.com/sudeepag/SAConfettiView/issues/57

I am referring to the project in Readme. Unfortunately, I started with SAConfettiView from this project, but SAConfettiView has not been working for years. What should I do more.

I am referring to the project in Readme. Unfortunately, I started with SAConfettiView from this project, but SAConfettiView has not been working for years. What should I do more.

You cannot remove the name of the original author from LICENSE. The original work contains the line
Copyright (c) 2015 Sudeep Agarwal

If you don't include this line in the LICENSE file, you are commiting copyright infringement.


not working anymore!

don't know the reason why, but it is not working for me anymore.

Dupe of: https://github.com/Purfview/IMDb-Scout-Mod/issues/95


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1384 ms

Resolved: Bofrost.at performance has improved in b6bc81c.


Encourage users to onboard via the full page mode

Try out this version of the Hiro Wallet - download extension builds.

Much like Metamask, it's better to encourage users to onboard via the full screen mode. Consider https://github.com/hirosystems/stacks-wallet-web/issues/2191, the user wants to use a password manager but they have to deal with opening/closing the popup. They likely don't know they can do this in a whole page.
We could send them straight to back up secret key page (a bit more work, and plus then they don't have chance to change mind and say user Ledger for example), but even just opening the whole page full screen is an improvement imo.
https://user-images.githubusercontent.com/1618764/155570365-4483be9e-0c98-49e8-9080-edb7c92ed6b4.mp4

I like this idea ...can clicking on Create Stacks Account in the popup go to the next page route in full page (BackUpSecretKey) rather than having to repeat clicking on the action? Also, we would do the same for clicking on Sign in with Secret Key?

I don't know if I am fully onboard with this idea, but I'd like @landitus and @markmhx opinion.
Let's say a user creates their account with 1passowrd in full screen mode. Then they lock their wallet. The next time they want to unlock it would, they also have to be redirected to the full screen page. Else they wouldn't be able to unlock it with their password app.
Unless I am missing something, if we do this move, then we should eliminate any unlock, login or creating account interaction from the extension experience and always redirect users to the full page view.

can clicking on Create Stacks Account in the popup go to the next page route in full page (BackUpSecretKey)

It could, yes, I considered this. Though I can't help but feel people will click "Create STX account" without necessarily reading, and maybe they'll want to use a Ledger, for example. Maybe we should change that label. We could also not open the pop up at all and only open the new tab (like MM).

This is a good idea as it eases the pain of using a password manager and also re-inforces the current behavior after installing the extension. I like it.

can clicking on Create Stacks Account in the popup go to the next page route in the full page (BackUpSecretKey) rather than having to repeat clicking on the action?

For some reason going from the popup to backup keys in full-screen step feels disconnected to me. Probably it would need some further copy or design change.
Looking at the video, I think repeating the same screen in two sizes feels "buggy" cause the user already clicked on the same button.

We could also not open the pop-up at all and only open the new tab (like MM). (Just for the onboarding flow)

☝ I'd favor this solution over the other, as I believe it's a better UX than having to see the same screen twice. I've seen extensions that launch to full screen and it's a natural approach.
Question: would this change affect the onboarding triggered as a pop-up from applications?

I like the idea of sending users through onboarding via a full-width viewport, but isn't this already the case given how installations work with extension stores?
https://user-images.githubusercontent.com/28991/155886890-5f3d1b54-05f4-4ef0-ae90-3a18c032101d.mov

but isn't this already the case given how installations work with extension stores?

Yep, exactly. This just enforces it for the other circumstances where you might set up your wallet. Such as:

Not creating a wallet immediately after install and returning later
Signing out of a wallet and going through the onboarding flow again

We could also not open the pop-up at all and only open the new tab (like MM). (Just for the onboarding flow)
☝ I'd favor this solution over the others, as I believe it's a better UX than having to see the same screen twice. I've seen extensions that launch to full screen and it's a natural approach.

I'm in favor of this approach as well if we want to address those other cases. It's best to avoid having the user see the same screen twice, especially after they've already selected the CTA.

How would this proposed solution work for when an extension store automatically opens this page post-installation for nearly all new users? They'd see a "Get started with Stacks" version of this screen then a "Create Stacks Account" one once clicking, both in full-screen?
Presumably we can't avoid that behavior since the same initial index appears automatically in either the popup or full-screen, depending on whether the user arrives post-installation or comes back later and re-opens to onboard.
I'm hesitant to over-invest polish for this current flow since @landitus and I have begun talking about how we may revamp the onboarding UX in general. I'll create a project brief soon that captures the current thinking on that front, but basically this screen may go away entirely.

They'd see a "Get started with Stacks" version of this screen then a "Create Stacks Account" one once clicking, both in full-screen?

No. They'd see the normal full screen welcome page, exactly the same as it is now. The "Get started" is only on the popup.

Presumably we can't avoid that behavior since the same initial index appears automatically in either the popup or full-screen, depending on whether the user arrives post-installation or comes back later and re-opens to onboard.

Not sure I follow, but hopefully first point clears up that concern.
Agree on not over polishing; but this work is already done, improves onboarding as is, and fixes an issue.

If that's the case, I'm okay with this change if @landitus is.

Thanks @kyranjamie. I wanted to try some alternative copy and get some quick feedback cc/ @markmhx. What about:

heading: Welcome to Hiro Wallet
paragraph: same
CTA: Get started

Looks good, just a minor tweak: "Welcome to Hiro Wallet" for header instead of "Welcome to the Hiro Wallet"

Added a line break, otherwise Hiro Wallet is on two lines.

Are extensions different browsers always the same width? else I rather let the content accommodate itself than have a line break

A way to ensure they're always on the same line but not worry about varying widths is placing &nbsp between the words.

Are extensions different browsers always the same width? else I rather let the content accommodate itself than have a line break

It's the same width in all browsers and doesn't ever resize

Thanks @kyranjamie. The screen itself looks good to me.
I did find an issue when testing it. If you go to an app, say https://stxnft.com/, if you start the onboarding through Connect, this new screen appears and forces the user to onboard in a new tab. As is, it degrades the Connect flow, taking the user out of the app's context. Also, the Connect modal gets out of sync and the wallet connection never completes (unless you reload the app). I guess this behaviour wasn't intended with this change.

Closing in favour of this working merging along side Ledger


fix: proper gas estimation

What I did

fixes: #52
Ideally, that PR would:

fix auto-fee estimation
unlock gas estimation on "local" networks.

How I did it
How to verify it
Checklist

[x] Passes all linting checks (pre-commit and CI jobs)
[x] New test cases have been added and are passing
[ ] Documentation has been updated
[x] PR title follows Conventional Commit standard (will be automatically included in the changelog)

With c46145754e8c2dd1fe4442a3aef510f7e7c4d31e I think I'm almost done. But signature verification fails on:

Signature (123, 456), is invalid, with respect to the public key 789, and the message hash 000.

Any idea?

Last step: use the upcoming Ape release :)

Next step: wait on the next starknet.py release.


.net core

does this lib is compatible to .net core?

Yup! There's even a .NET Core sample app in the main solution file!
https://github.com/alanmcgovern/monotorrent/tree/master/src/DotNetCoreSample


Add option to read project info from file

When creating a project, instead of using the options, it should be possible to enter a file containing the project information such as title, description etc.

Moving to Jira.


Add validation for CVSS

Addresses undetected invalidity surfaced in
https://github.com/github/advisory-database/blob/adf108ed87cfbe666a56cd9cab986afc3854150e/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json and helps address https://github.com/google/osv.dev/issues/2369
h/t @gregsdennis for assistance with the validation syntax
This uses the regexes from the official schema definitions for CVSS, with some additional slash-escaping that regex101.com seemed to feel was necessary to make them valid.
$ git -C ~/gosst/osv/advisory-database/ checkout adf108ed87cfbe666a56cd9cab986afc3854150e
HEAD is now at adf108ed87c Publish GHSA-jjfh-589g-3hjx
$ ~/go/bin/jv ./validation/schema.json ~/gosst/osv/advisory-database/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json
schema ./validation/schema.json: ok

instance /usr/local/google/home/apollock/gosst/osv/advisory-database/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json: failed
jsonschema validation failed with 'file:///usr/local/google/home/apollock/gosst/osv/osv-schema/validation/schema.json#'
- at '/severity/1': allOf failed
  - at '/severity/1/score': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L' does not match pattern '^CVSS:4[.]0/AV:[NALP]/AC:[LH]/AT:[NP]/PR:[NLH]/UI:[NPA]/VC:[HLN]/VI:[HLN]/VA:[HLN]/SC:[HLN]/SI:[HLN]/SA:[HLN](/'
$ git -C ~/gosst/osv/advisory-database/ checkout main
Previous HEAD position was adf108ed87c Publish GHSA-jjfh-589g-3hjx
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
$ ~/go/bin/jv ./validation/schema.json ~/gosst/osv/advisory-database/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json
schema ./validation/schema.json: ok

instance /usr/local/google/home/apollock/gosst/osv/advisory-database/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json: ok

The fact that past me authored https://github.com/ossf/osv-schema/pull/178 (almost a year to the day) has somewhat floored me...

👋  @frasertweedale since #168 is what begat #178 a ~year ago, I figured I'd run this PR over all of the Haskell security advisories, and HSEC-2023-0003 doesn't (to me, legitimately) validate:
instance /usr/local/google/home/apollock/gosst/osv/security-advisories/2023/HSEC-2023-0003.json: failed
jsonschema validation failed with 'file:///usr/local/google/home/apollock/gosst/osv/osv-schema/validation/schema.json#'
- at '/affected/0/severity/0': allOf failed
  - at '/affected/0/severity/0/score': 'CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:P' does not match pattern '^((AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H'

@andrewpollock thank you; that is indeed a bug.  Will create a ticket our side and fix it soon!

@andrewpollock this was resolved, via https://github.com/haskell/security-advisories/pull/218, and our published OSV data has been fixed.

@frasertweedale

Can you verify on your end?

Verified:
$ git -C ~/gosst/osv/osv-schema/ show --summary validation/schema.json
commit ce77bfbaba0315697e50dda222ca0a4de75cce33 (HEAD -> validate_cvss_severity, origin/validate_cvss_severity)
Author: Andrew Pollock<EMAIL_ADDRESS>Date:   Fri Jul 12 02:54:46 2024 +0000

    Correct the validation

    This now successfully fails to validate https://github.com/github/advisory-database/blob/adf108ed87cfbe666a56cd9cab986afc3854150e/advisories/github-reviewed/2023/11/GHSA-jjfh-589g-3hjx/GHSA-jjfh-589g-3hjx.json

    h/t @gregsdennis

    Signed-off-by: Andrew Pollock<EMAIL_ADDRESS>
$ git -C security-advisories show --summary 2023/HSEC-2023-0003.json
commit 14197d1fabdb480e34f7424d68b96882210d084d (HEAD -> generated/osv-export, origin/generated/osv-export)
Author: Haskell Security Response Team<EMAIL_ADDRESS>Date:   Fri Jul 19 05:19:03 2024 +0000

    2024-07-19 05:19:03+00:00 (d09058a544bf45cc0814ed9b300cd940bc263617)

$ ~/go/bin/jv ~/gosst/osv/osv-schema/validation/schema.json security-advisories/2023/HSEC-2023-0003.json
schema /usr/local/google/home/apollock/gosst/osv/osv-schema/validation/schema.json: ok

instance security-advisories/2023/HSEC-2023-0003.json: ok


added actual workshops

Fixes #134
button is not actually on the top bar yet, can add later when needed

Is the Workshops button supposed to be added to the navbar in this PR? I didn't see it in the preview

Marking as Draft to make it clear we are merging it right when HOTH starts


Replacement for *data_table_columns views

In the DB we create a set of views to structure the data in a suitable shape for the webapp to consume it.
Part of that structure is a set of views dealing with molecular data. Specifically, some views are in charge of showing, at the molecular characterization id level, which columns are not null. That's useful because with that information the webapp can just fetch non null columns when getting the information to render the tables for molecular data.
Executing those *data_table_columns views is expensive. A proposed solution is to have the dictionary of non null columns at the provider and molecular type level, and instead of a view have this calculation done in the ETL itself. It also will make it easier for the webapp to know which columns to fetch as all the information of not null columns could be fetched at once.

@zperova done


Error deploying Serverpod on Google Cloud Run

Describe the bug
This error occurred on the final step of deploying to Gcp
Error log on terminal
ERROR: (gcloud.run.deploy) Build failed; check build logs for details
Deploying Insights server...
This command is equivalent to running `gcloud builds submit --tag [IMAGE] .` and `gcloud run deploy serverpod-insights --image [IMAGE]`

Building using Dockerfile and deploying container to Cloud Run service [serverpod-insights] in project [oladapo-project-397222] region [us-central1]
X Building and deploying... Building Container.
  ✓ Uploading sources...
  - Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/39641262-87a9
  -4554-91b9-6bf6500b956e?project=87385936031].
  . Creating Revision...
  . Routing traffic...
  . Setting IAM Policy...
Deployment failed
ERROR: (gcloud.run.deploy) Build failed; check build logs for details
mac@whoisAyMac oladapo_app_server % ./cloud-run-deploy.sh
Deploying API server...
This command is equivalent to running `gcloud builds submit --tag [IMAGE] .` and `gcloud run deploy serverpod-api --image [IMAGE]`

Building using Dockerfile and deploying container to Cloud Run service [serverpod-api] in project [oladapo-project-397222] region [us-central1]
X Building and deploying... Building Container.
  ✓ Uploading sources...
  - Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/588150cf-8d2a-46b
  2-a648-67f335844ec8?project=87385936031].
  . Creating Revision...
  . Routing traffic...
  . Setting IAM Policy...
Deployment failed

Error log from Google Cloud Log explorer
{
  "textPayload": "/bin/sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /bin/sh)",
  "insertId": "64ebf3f70005a6e718508746",
  "resource": {
    "type": "cloud_run_revision",
    "labels": {
      "location": "us-central1",
      "project_id": "oladapo-project-397222",
      "revision_name": "serverpod-api-00001-vix",
      "service_name": "serverpod-api",
      "configuration_name": "serverpod-api"
    }
  },
  "timestamp": "2023-08-28T01:10:15.370407Z",
  "labels": {
    "instanceId": "00e67600734b189a133e5e5c41b337f2d8bd71de807e25bd434a716a7e6bbcf34c76d53c4ed1eb55fea490f01ff23a2b79625df76d6709c2e23ea33df1e3c8c971"
  },
  "logName": "projects/oladapo-project-397222/logs/run.googleapis.com%2Fstderr",
  "receiveTimestamp": "2023-08-28T01:10:15.376599090Z"
}

To Reproduce
Steps to reproduce the behavior on the server folder terminal:
run ./cloud-run-deploy.sh
Screenshots
If applicable, add screenshots to help explain your problem.
Serverpod versions

CLI Version: Serverpod version: 1.1.1
Library version:

 sdk: '>=2.19.0 <4.0.0'

dependencies:
 serverpod: ^1.1.1
 logger: ^2.0.1

Platform information
I believe it has nothing to do with the platform
Additional context
I believe this has to do with the configurations on the Dockerfile

I think it is the same problem as #1101.
One of the last comments suggested to use a specific Version of busybox and it seems to work.

Yeah, changing the busybox version worked for me, thanks.
FROM busybox:1.36.0-glibc .
This should be noted in the docs, please.


Linking with freeGLUT on OSX

I'm currently building a project on OSX and finding that I can't actually get freeGLUT linking. The installed system version of GLUT is always being used.
Just to confuse matters, I'm also using stack to build and have install freeGLUT with brew.
I realise that OSX is its own special flavour of awkward for this type of thing, but I feel like there should just be some ghc-options flags that I should be able to pass that will make it clear I want to build against freeGLUT and not the system framework. Just can't seem to figure out what they are.
Currently I'm telling stack to explicitly pass ghc the -lGLUT flag, but that doesn't seem to be doing the trick.
https://github.com/rumblesan/improviz/blob/master/stack.yaml#L62-L69

The Haskell GLUT package dynamically loads the native GLUT library, on non-Windows systems via dlopen. What it actually tries to load on Mac OS X is in the native part of the GLUT package. Currently it tries to load GLUT from the public framework path first, then from the system one. It shouldn't be too hard to add another location, but I would need a tested patch. Dynamic linking on Mac OS X is always a bit interesting (read: "non-standard"), and I've got no idea if we need a full absolute path or not, what the freeglut library is actually called on Mac OS X, if we can load it with or without .so suffix, if we need a version number or not, etc.
So try to add a sensible line before the public framework path and send a patch or pull request. I'm not sure if you need some additional linker flag in the .cabal file, but I guess you don't.

Thanks for getting back to me and explaining what's going on.
Adding in a path directly to the homebrew installed version of GLUT does work (/opt/boxen/homebrew/lib/libglut.dylib) in my case.
It's also possible to just add libglut.dylib and then set the LD_LIBRARY_PATH to the right directory and have everything link as expected as well.
I'll raise a pull request with the changes in and close this.


Cloudflare sites cause ---Timeout of 48000ms exceeded

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Websites using cloudflare for dns are causing lots of "Timeout of 48000ms exceeded" errors
: Failing: timeout of 48000ms exceeded | Interval: 60 seconds | Type: http | Down Count: 0 | Resend Interval: 0
I have followed the side note ( https://github.com/louislam/uptime-kuma-wiki/blob/master/Cloudflare-Side-Note.md )
Added the IP to Access rules.
Disabled "Browser Integrity Check"
📝 Error Message(s) or Log
No response
🐻 Uptime-Kuma Version
Version: 1.23.13 Frontend Version: 1.23.13
💻 Operating System and Arch
Docker
🌐 Browser
Brave
🖥 Deployment Environment

Runtime:
Database: Yes
Filesystem used to store the database on:
number of monitors:

@pieteru771 entirely different issue. Please search through the existing issues https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue+EAI_AGAIN
TL;DR: Either your IP-config is borked, your DNS server is overwhealmed (enabled NSCD in the settings?) or a third issue. None of them are timeouts ^^

about the original timeout issue:
Could you try to reproduce this issue via curl and report what the response time is?
https://github.com/louislam/uptime-kuma/wiki/Troubleshooting
Also: is this consistently failing or just intermitently? (in the later case, this is cloudflares problem or networkign schenangans and you should increase the retreies from 0)

It a basic html site.
Randomly fails often. I increased retires to 5....is that too low?
Down | 2024-05-17 05:25:46 | timeout by AbortSignal (48s)
2024-05-17T18:48:18+12:00 [MONITOR] WARN: Monitor #6 'Websites': Pending: Child inaccessible | Max retries: 5 | Retry: 0 | Retry Interval: 60 seconds | Type: group
2024-05-17T19:10:28+12:00 [MONITOR] WARN: Monitor #20 'Aspergers.co.nz': Pending: timeout by AbortSignal (48s) | Max retries: 5 | Retry: 1 | Retry Interval: 60 seconds | Type: http
2024-05-17T19:11:19+12:00 [MONITOR] WARN: Monitor #6 'Websites': Pending: Child inaccessible | Max retries: 5 | Retry: 0 | Retry Interval: 60 seconds | Type: group

root@uptime:/app# curl https://aspergers.co.nz

Jen Birch - Congratulations! It▒s Asperger Syndrome

It is now recognised that autism occurs in a variety of forms, e.g.
High-Functioning Autism and Asperger▒s Syndrome (sometimes called Asperger▒s
Disorder). Autism and related conditions can now be grouped under the term
Autistic Spectrum Disorder (A.S.D.) They are relatively common, with Asperger▒s
Syndrome occurring in one in every 300 persons.
This website seeks to give basic information on Autistic Spectrum Disorder,
with an emphasis on the higher-functioning types of Asperger▒s Syndrome and
High-Functioning Autism. Checklists are included. To assist interested persons,
I have also written a book on Asperger▒s Syndrome, (see book page).

I can be contacted on Email:
<EMAIL_ADDRESS>or by post: Jen Birch, PO Box 17-426, Greenlane, Auckland, New Zealand.
I welcome messages and enquiries.
Home |
What is Asperger Syndrome? |
Autism is a Developmental Disorder |
Insight into an Autistic Spectrum Disorder
Recommended Readings |
Where to Obtain this Book |
Contact Jen | Links

root@uptime:/app# ping aspergers.co.nz
PING aspergers.co.nz (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>.vultrusercontent.com (<IP_ADDRESS>): icmp_seq=1 ttl=45 time=318 ms
64 bytes from <IP_ADDRESS>.vultrusercontent.com (<IP_ADDRESS>): icmp_seq=2 ttl=45 time=320 ms
64 bytes from <IP_ADDRESS>.vultrusercontent.com (<IP_ADDRESS>): icmp_seq=3 ttl=45 time=321 ms
64 bytes from <IP_ADDRESS>.vultrusercontent.com (<IP_ADDRESS>): icmp_seq=4 ttl=45 time=313 ms
64 bytes from <IP_ADDRESS>.vultrusercontent.com (<IP_ADDRESS>): icmp_seq=5 ttl=45 time=322 ms
^C
--- aspergers.co.nz ping statistics ---
6 packets transmitted, 5 received, 16.6667% packet loss, time 5ms
rtt min/avg/max/mdev = 312.758/318.881/322.416/3.534 ms
root@uptime:/app#

Can't reproduce the issue on demo.kuma.pet

I think it might be relateed to either

cloudflare dermining that this request should be blocked
wrong network configuration

Given that basic curl works, I think it might be the first.
=> Could you report a hunch i have from inside your contianer?
time curl -v https://aspergers.co.nz

=> For Cloudflare could you please double-check that there has not been a typo somewhere by re-copy pasing all fields?

Hey we verified this, we have monitors running on different servers and were able to confirm that Cloudflare blocked on our monitor  and because we run 45-second timeout on our requests we saw a lot of them in one day

we have some domains on one monitor that are using cloudflare and others that are not, the ones all using cloudflare were banned to access the above cloudflare ip
the ban lasted roughly 5mins

Having the same issue here. It only happens when using Cloudflare Proxy.

we have some domains on one monitor that are using cloudflare and others that are not, the ones all using cloudflare were banned to access the above cloudflare ip

How'd you confirm the "ban" you should have logs under Security->Events?

I am also having the exact same issues with the "timeout by AbortSignal (48s)" on multiple sites. This happens to the same sites almost every day. When I check the site, it appears to be up and running properly without any issues.
Also using Uptime Kuma and Cloudflare. This probably started in July for me.

Facing same issue, checked CF, there are no logs under security

+1, Facing same issue, checked CF, there are no logs under security

I also was seeing this with a number if sites with the 1.23.15 release. I just upgraded to 2.0 beta so I'll see if it keeps happening there too.


Support gameplay with no bots

This PR allows gameplay with more than one human and no bots. Just a small change.
Fix #95

This doesn't seem to work.

Thanks for telling me that. I'll double check this when possible.

This doesn't seem to work.

I didn't get this.
Only when the number of human players is set to more than 2, then we allow the number of bots to set to zero. See this picture:

I'll merge this and have a closer look later.
Thanks for your support. 👍


Bug: basset:fresh causing timeout error

Hello everyone!
I update my application from Backpack 5 to 6 and now, during my CI, I have a problem that occurs from time to time.
In my post-install-cmd in my composer.json I run php artisan basset:fresh. Sometimes I get this error:
In PendingProcess.php line 258:
The process "php artisan basset:cache" exceeded the timeout of 60 seconds.

In PendingProcess.php line 1158:
The process "php artisan basset:cache" exceeded the timeout of 60 seconds.

Is there something I can do to prevent this error?

Hey @hagealex
I think the only solution would be to increase the time that script can run.
You can do it globally by changing the php.ini settings in your webserver (probably not recommended).
Or alternatively you can allow only the basset:cache command to exceed those limits by calling:
php artisan basset:clear && php -d max_execution_time=120 artisan basset:cache

Let me know if that solved the issue for you.
Cheers.

@pxpm This seems to work. I'll check this during my nexts builds.
Thank you so much for your hint!


Move examples subdirectory back into base directory

As mentioned in #104 , I think it would be nice for the examples subdirectory to live in the base directory. However, the mkdocs-gallery requires the scripts to be in the docs folder. To get around this, I think we can copy the files into the docs directory during the CI run.

Ah, after thinking about it a bit more, this might be inconvenient, as the docs won't build locally anymore without manually copying the files.


After restarting the Solr service the existing cores are not reloaded

After a restart of the solr service the cores that existed before the restart are not reloaded on during the restart process. After a little bit of investigation this is because the solr.xml doesn't have a proper coresRootDirectory set, so the solr core is created in the solr user's directory which is causing the problem.
The current process is setting the cores_root_directory in the default attributes, but at that time the cores_home property hasn't been set because the recipes have yet to be evaluated. Once the recipes are evaluated the cores_home attribute is appropriately set to the correct directory, but in the solr.xml it takes the cores_root_directory property for the location of the cores which wasn't updated when the recipes were evaluated.
The solution should be to reset the cores_root_directory in the attributes recipe after the cores_home attribute is set to it's correct value.

A workaround is to up front set the cores_root_directory property to the intended target.


footer text styling on mobile phone

(enhancement)
Footer text for both portrait and landscape view on mobile phone looks awkward - attached screenshot below. Looks good on iPad but for mobile phone displays perhaps making the font smaller to fit two lines for portrait and one for landscape view would be better.

OS: Android 5.1
Browser: Chrome (stock browser), FireFox, Dolphin browser (all latest builds)

I was about to add this one, and you got there first! It does look quite awkward. Agreed!

Fixed!


Log errors to stderr not stdout

Errors in get_start_time and get_duration print to stdout so you end up with corrupted tsv.
This is a small change which logs errors to stderr using logging

ta!


Passing options with selected attribute true is not making the select to have pre-selected options

Hi, I guess the title describes it enough, but just in case.. I am trying to apply these options to a select
[
  { id: 1, text: 'TRADOS', selected: true },
  { id: 2, text: 'ACROSS', selected: true },
  { id: 3, text: 'WORDFAST' },
  { id: 4, text: 'MemoQ' },
  { id: 5, text: 'Transit' },
  { id: 6, text: 'InDesign', selected: true },
  { id: 7, text: 'Omega' },
  { id: 8, text: 'SDLX' },
  { id: 9, text: 'Memsource' }
]

In result I have the multi select rendered, however, there are no preselected options. In vue dev-tools I can see the options with selected attribute as true. I've seen this line in source code so I expected these options to work by default.
Is there another way to make the plugin accept selected values?
Thank you.

I should've read the closed issues first, my bad.. https://github.com/godbasin/vue-select2/issues/28

Back with some more details.. because for some reason it doesn't work for me. After reading the issue tagged above, I switched from options to v-model
<Select2 @select="selectEvent($event, selectedValues.catToolsOptions)"
         v-model="catTools"
         :settings="{ multiple: true }"
         :disabled='showReviewTab' />

vue data
data: function () {
  return {
    catTools: []
  }
}

in mounted callback I am calling a method, that calls an API to get data for select
loadCatToolsOptions () {
  let url = '/api/translators/cat_tools.json'

  this.axios.get(url).then(response => {
    # this is an action in vuex, to loop through all available options and mark the ones selected based on options from other component
    this.setCatToolsOptions(response.data)
    # assigning the data from store to this component model
    this.catTools = this.catToolsOptions
  })
},

In the end, my model has the following data
[{"id":1,"text":"TRADOS","selected":true},{"id":2,text":"ACROSS","selected":true},{"id":3,"text":"WORDFAST","selected":false},{"id":4,"text":"MemoQ","selected":false},{"id":5,"text":"Transit","selected":false},{"id":6,"text":"InDesign","selected":true},{"id":7,"text":"Omega","selected":false},{"id":8,"text":"SDLX","selected":false},{"id":9,"text":"Memsource","selected":false}]

which look like valid data for select2 component. But still, there are no preselected options. Even hardcoding the above Array of objects to catTools data model is not working. What am I doing wrong?

Ok.. for others who get into the same thing :)
v-model should hold the id's of preselected options, in my case catTools should have [1, 2, 6].
while options still holds the information about available options.


Fix normalized url internal error by update

I have notice that sometimes the follow error happens:

That is because normalize-url version 4 throw error on this method, they fixed in the newer version.
Thanks a lot!

Thanks for the MR!
According to the release notes of normalize-url, version 5 and upwards is not made for in-browser usage.
So I am guess we can not easily switch to the new major version. Could you maybe create a MR that fixes the problem inside quill-magic-url rather than updating normalize-url?

Thanks for the MR!
According to the release notes of normalize-url, version 5 and upwards is not made for in-browser usage.
So I am guess we can not easily switch to the new major version. Could you maybe create a MR that fixes the problem inside quill-magic-url rather than updating normalize-url?

@visualjerk I just opened a newer MR.
https://github.com/visualjerk/quill-magic-url/pull/27
Thanks a lot for the feedback!


Fix demo link for later versions of vue 2.*

#129

Coverage remained the same at 99.324% when pulling cdffac12d2b8b6a904db6bc6ca8c7c1d655ffa0b on Quezler:patch-1 into 2ba83816fdf0580f2cea7350081d576e9134e00e on charliekassel:master.

Thanks!


Handle missing correctbackground section in config for cli chunk setup

Yep. looks good @nepstad - need to bump the PATCH version ;)