[Feature Request] Include Icons in build instead of doing network requests

Hey there, thanks so much for this module! It's absolutely great and easy to use.
I noticed something though, where I couldn't find a config for. In Production, the icons are loaded over the network via https://api.iconify.design/ri.json?icons=icon-name. This can cause several issues, such as:

When API is potentially offline, users would not see icons?
In the EU it's actually a law issue with GDPR since the HTTP endpoint could receive & process some personal data in the headers (I'm sure you don't, but of course I don't have any control), like the IP, User-Agent, Refrerrer, etc. See the google fonts GDPR issue https://complianz.io/google-fonts-and-gdpr-does-it-work/)
The loading times for slow connections could be high, leading in slower web loading times
Building offline apps (PWAs) might be more difficult (I see that it gets cached in localStorage)
Other general issues I may not have listed above

Maybe I'm understanding wrong and the Module perfectly works without connecting to this API, but I think it would be great to have an option to store all used icons locally on build and request them from a local server endpoint.

Hey guys! I was thinking of implementing this feature but I was wondering which approach should I take. Maybe adding a module option like offline and then downloading icons at build-time and referencing them conditionally in the Icon component.

I think it's also important for online mode, bc for instance if I have a theme switcher and click on it switching color theme and icon the icon disappears for a few hundred ms until the new one is downloaded. Would be nice if in online mode it would download and cache all icons right away in the background after page load is finished.

Hey guys! I was thinking of implementing this feature but I was wondering which approach should I take. Maybe adding a module option like offline and then downloading icons at build-time and referencing them conditionally in the Icon component.

Any news about that? Thanks

I found this in the Doc for building an offline bundle https://docs.iconify.design/icon-components/bundles/

I found this in the Doc for building an offline bundle https://docs.iconify.design/icon-components/bundles/

Hi, thanks for the help. I took a look.
I'm using this https://github.com/nuxt-modules/icon and figured out that this module puts the svg directly on html, so it loads offline.
I saw that using capacitor and generating an apk the icon wasn't showing. So I think the problem is with capacitor and not from offline.

I think it's also important for online mode, bc for instance if I have a theme switcher and click on it (switching color theme and icon) the icon disappears for a few hundred ms until the new one is downloaded. Would be nice if in online mode it would download and cache all icons right away in the background after page load is finished.
You can see the effect here: https://webapicheck.com

@toniengelhardt  I guess you could do that with plain CSS

I think it's also important for online mode, bc for instance if I have a theme switcher and click on it (switching color theme and icon) the icon disappears for a few hundred ms until the new one is downloaded. Would be nice if in online mode it would download and cache all icons right away in the background after page load is finished.
You can see the effect here: https://webapicheck.com

@toniengelhardt I guess you could do that with plain CSS

It says "the icons won't be loaded on initial load and an HTTP request will be made to Iconify CDN to load them" in the README though?

I need this. It only shows mdi:access-point-network-off icon text when, instead of the icon when the PWA is offline.

In the end, I downloaded icons from icones.js.org and integrated them using nuxt-icons. 😅

In the end, I downloaded icons from icones.js.org and integrated them using nuxt-icons. sweat_smile

@mkdirnow how is that possible?

In fact, most of the icons in my project are individual SVG files, and only a few places use icons from icones.js.org.
However, this plugin is really convenient, and I'm looking forward to the offline feature.

In the end, I downloaded icons from icones.js.org and integrated them using nuxt-icons. 😅

Seems inconvenient though...

@mkdirnow how is that possible?

Seems inconvenient though...

In fact, most of the icons in my project are individual SVG files, and only a few places use icons from icones.js.org.
However, this plugin is really convenient, and I'm looking forward to the offline feature.

I agree with everything @madebyfabian mentioned but want to add another point.
The icon svg's are embedded into the rendered html nuxt renders meaning the nuxt server had to actually fetch them on request time - which can't be beneficial for performance/ time to first byte.
Tbh I was assuming things were bundled at build time as nowhere in the readme individual http requests are mentioned.
Hoping this is something that can be resolved, going down the rabbit hole of individually creating components for each icon sort of defeats the purpose of the module imo

I was using unplugin-icons before migrating to Nuxt which bundled the icons at build time.
Do you foresee this to be a difficult issue to solve?

With Unplugin icons you need to import manually the icons you use, with Nuxt icons its a string that could be any unicons icon.
Maybe we could have a whitelist feature that bundles the whitelisted icons ?

With Unplugin icons you need to import manually the icons you use, with Nuxt icons its a string that could be any unicons icon. Maybe we could have a whitelist feature that bundles the whitelisted icons ?

Not if you set up auto-importing

As a user od the module I would also love to see the option to support bundled icons without having to do the request to get them. Only missing part for it to be perfect for us.

In what case would it be more performant than Iconify API @stafyniaksacha ?

I'm currently developing a Vue application designed for offline use. I've been contemplating migrating to Nuxt due to its appealing features, such as automatic component imports and integrated UI libraries. However, I'm concerned that Nuxt may predominantly cater to applications with an online-first approach.
I'm eager to hear from anyone who has experience in building offline applications using Nuxt. Specifically, I'm interested in understanding any potential drawbacks or limitations encountered during development. Does Nuxt accommodate the needs of offline applications effectively, or are there significant challenges I should be aware of?

Currently very unfriendly for offline applications.

We are planning to rewrite this module to avoid making network requests.
As workaround, if you are using UnoCSS, you can use https://unocss.dev/presets/icons
If you are using TailwindCSS, you take take a look at https://github.com/egoist/tailwindcss-icons
If you are using Nuxt UI, we already support offline with UIcon component (based on TailwindCSS-Icons)

I still believe there would be some of us who would benefit from bundling the icons into the build. Maybe there could be an option to opt-in?
Mainly because right now (v1.2.0) if I create a SPA with ssr: false, every time I navigate to a page with new icons they aren't rendered until they load from Iconify's API. I just see them suddenly appear, which doesn't look good.
It would be nice to be able to bundle the icons natively without relying on the UnoCSS or TailwindCSS workarounds.

The main selling point of using Nuxt Icons is the dynamic bits, which support rendering icons that you retrieved at runtime (dynamic content, user content, etc.). Other solutions like unplugin-icons and UnoCSS Icons only support bundling the icons that are known at build time. Supposedly, they should work as a complement; Nuxt Icon v1 also dedupe the icon fetching if it's already been provided by UnoCSS.
Because the focus is fully dynamic, meaning it would be hard for Nuxt Icon to pre-bundle the icons at build time.
For example, to know the usage of your icons, the module would need to scan every file in your project to detect usage statically like this:
<template>
  <Icon name="carbon:sun" />
</template>

Where the cases like:
<script setup>
const props = defineProps({
  icon: String
})
</script>

<template>
  <Icon :name="icon" />
</template>

It won't be possible to know what's the value of the props passed in at build time. (any many more edge cases like this).
That said, I would still love to improve the DX with this, but in order to perform good static analysis result, we would need to:

Define a strict syntax convention that can be statically extracted (we are kind of re-implementing UnoCSS in this case)
Only usages following that convention would be able to be bundled, the others will still fallback to runtime fetching
Opt-in this behavior as it would perform a project-wide filesystem scan. It can be inefficient for projects with a lot of files.

I would need to have some examples of your project usage to know what would be the best way to support that.
Please share your project or a minified version below and tell your usage/expectation.
So we could come up with a better design that works for the majority of the users. Thanks

@antfu it might not be ideal, but if the scanning is too complex, maybe there could be a preload list in the config, similar to the safelist in unocss, and we can then prefetch all icons in the preload list and alias list if the preload setting is enabled.
Defining aliases for all icons is anyway good practice IMO, it makes the project more maintainable.

You are right @antfu. I see your point in how this introduces complexity beyond what I would know how to do.
I won't say this is a deal breaker, it's just a UX/DX improvement. It is definitely so nice to only write the icon name and magically have it appear. Unfortunately, as soon as the client is hydrated and SPA takes control, rendering icons that weren't at the initial page load last a tiny bit to appear, which feels weird but it's not critical.
If this feature is at all possible, but requires defining a fixed pattern to write the names of icons (such as TailwindCSS Icons with i-{collection}-{icon}) I believe that anyone who really needs it won't mind the extra step. That's how Nuxt UI v2 does it and I think it is both nice UX/DX. Of course, @nuxt/icon will use dynamic icons as the default and bundled would be opt-in.
I tried unplugin-icons and it works just fine. If this is not possible for @nuxt/icon, I will certainly use it. But of course, only writing <Icon name="i-ph-x" /> is way nicer than having to import every icon and use them as a separate component. That's why it's not a deal breaker, just a quality-of-life improvement.
Most of the projects I build are SPA's on the client side, since they are admin dashboards or management platforms. I don't use SSR as much. But even with SSR, once hydration happens, I have the same issue. Here's a video on what I mean (uses 3G network throttling to make the icon loading time more visible)
https://github.com/user-attachments/assets/55a7a542-4c63-451b-9d26-bb555768293f

#208 and #223 should give the capability of doing so. We will still need to figure out a better way to do auto-discovery in the future

Please upgrade to v1.5.0 and give it a try with https://github.com/nuxt/icon/pull/243, feedback are greatly welcome (please create new issues).

Hi @antfu
Absolutely fenomenal job! I just updated the project that I demonstrated last time and it just works. I tested with the name of the icons being in multiple parts of the app and it worked nicely (<Icon name="..." />, string inside <script setup>, inside a composable from composables directory).
I was even surprised to find out that dynamic icons still get loaded without any extra setup. For example:
<script setup lang="ts">
const props = defineProps<{ type: string }>();

export function getMimeTypeIcon(type: string) {
  if (!type) return 'i-heroicons-question-mark-circle';
  if (type.startsWith('image')) return 'i-heroicons-camera';
  if (type.startsWith('video')) return 'i-heroicons-video-camera';
  if (type.startsWith('audio')) return 'i-heroicons-musical-note';
  if (type.endsWith('csv')) return 'i-heroicons-table-cells';
  return 'i-heroicons-document';
}
</script>

<template>
  <Icon :name="`${getMimeTypeIcon(type)}-16-solid`" />
</template>

(I know that example is not ideal, but I wrote it just out of curiosity to test string templates and it worked)
Even though they won't get bundled since it's nearly impossible to scan for those cases, the fact that I didn't have to set anything up to make that icon dynamic is just magic.
Thank you very much! I will keep trying it with more use cases and let you know if anything doesn't work.

The clientBundle/scan feature is great 👍
However, whenever an icon is missed, my app (ssr: false) still does a request to api.iconify.design. For legal reasons, I have to avoid any such request and would prefer a missing icon, that reminds developers of adding it. Can this be achieved with configuration?

@some-user123 Avoiding to render if not included in the bundle is not possible and I don't believe it's part of what this module is trying to achieve.
I recommend you use unplugin-icons instead, since that library ALWAYS includes them in the bundle and never makes runtime external requests by default. That's how it was built and it might suit your requirements better.
Hope that helps!


Add a CPU features detection library

It implements CPUID using inline assembly, as well as a thin, cached layer of abstraction for common features.
Supported features:

SSE
SSE2
SSE3
SSSE3
SSE4.1
SSE4.2
AVX
AVX2

There is also vendor detection (Intel/AMD) and vendor string reporting.
No tests are provided, as the results of these method calls depends on the CPU model.

Mmh, interesting, is that in preparation for something? If not what are the common enough usecases for it to make sense in a languages standard library? Please keep in mind that every code we accept increases the technical debt and thus maintenance burden :)

Indeed ! We could use this to speed up critical portions of the standard library by branching at runtime to a different codepath, based on what extended instruction set the hardware provides. glibc does something similar internally to speed up critical parts, but it does not expose it.

Sorry for being stubborn, but do you have something specific in mind already? Do LLVM intrinsics generate code that does similar things? If yes, what examples are there not covered by intrinsics?

This does not generate any code per se, it just allow you to detect what your CPU can and can't do at runtime. The goal here is to prevent the CPU to execute instructions it doesn't have support for. If you generate an AVX2-only codepath, for exemple, and your CPU doesn't support AVX2, it's gonna crash. It's useful if you want to redistribute binaries. With x86_64, you can't use anything more recent than SSE2 if you plan on redistributing binaries, and it severely limits the performances in some heavy number crunching algorithms. This pull request allow you to bypass this restriction, by having more than one codepath, and branching on the fastest one that is supported on your platform, at runtime.

@Nax But this is only useful if you write inline assembly, right?

@asterite Unless we have something equivalent to C compilers's intrinsics, then yes.

Sorry to clarify, I meant whether LLVM intrinsics already do generate code which uses CPU feature detection to optimize.

@jhass No, LLVM won't do that. You can ask it to emit extended instructions, but it will not insert runtime checks on it's own.

How about scoping this into the System module? System::CPU

System::CPU is a nice idea indeed.

Is it cross OS? Since it involves ASM, I guess it is. I understand it detects and runs on x86 CPUs, but what about other ones, like ARM or MIPS archs? And what about 32bits?
It could be nice to have, but maybe premature for per feature optimisations in the core/stdlib. Also well have to maintain it, and it may make it more complex to introduce new architectures. Of course great optimisations could help to integrate it nonetheless. We'll need input from @waj and @asterite here.

It is cross OS indeed, and should work fine on both x86 and x86_64. For ARM and MIPS, this won't compile. On these archs, we should probably throw an exception when cpuid is called, and report the CPU as unknown with no features.
I don't think this would make new archs more complex to adopt if we do that. I'm gonna add checks to make it compile on non-x86 archs.

Filepath should be src/system/cpu.cr now, else looks good to me, probably should have a second good to go from @crystal-lang/crystallers

Any news on this?

@Nax To merge this we'll need a real, concrete use case

Please do release a shard for this though! I think it can be useful, possibly in a future simd library.

For the few people who are looking for this, LLVM itself provides some of the functionality here, although you probably need to dig into its source code to parse those feature names:
require "llvm"

# target_machine.cr
lib LibLLVM
  fun get_host_cpu_features = LLVMGetHostCPUFeatures : Char*
end

LLVM.init_aarch64 # or `init_x86` etc.
features = LLVM.string_and_dispose(LibLLVM.get_host_cpu_features)
features.split(',') # => ["+fp-armv8", "+lse", "+neon", "+crc", "+crypto"]

My guess is LLVM needs this information for -march=native.


Resolves #271

This commit resolves unicode_to_repr error in djangorestframework=^3.10.2

@anshul217 thank you for a pull request, I resolved this in #268 and fix the tests what uses unicode_to_repr


mongodb in mode studio

I am interested in whether or not we can punt on doing all our reporting by simply having mode studio rigged up. Mode doesn't support mongodb out of the box but it looks like stitch data will let you.
Note to self to go fishin'.

Nonstarter unless we're on postgres.


Azure Container image scan Action

https://github.com/marketplace/actions/container-image-scan
Investigate more proactive rather than reactive actions or scans.
Benefit:
Creates gates/hard stops for actions with bugs or low standards for example where a vulnerability exists or a bug exits.

Action removed from marketplace.  Can't use.


CustomChoice not working with wildcards

(Original issue 22 created by {u'display_name': u'altmany', u'account_id': None} on 2011-12-12T14:21:15+00:00)
What steps will reproduce the problem?
1. create a CustomChoice set having wildcards (e.g. "*text")
2. set a filter column to use the CustomChoice set

What is the expected output? What do you see instead?
I expect to see the custom choice in the filter editor combo, and selecting the item
I expect to see all rows matching the wildcards. Instead, either the choice is not
presented at all (indicating that the filter thought that there is no match), or when
selecting the choice I only get part of the results.

What version of the product are you using? On what operating system?
4.2.0; JVM 1.6.0u17 on WinXP

Please provide any additional information below.
It should be noted that when I type the expression directly in the filter combo's editbox
("*text") I get the the expected rows without any problem.

Original issue reported on code.google.com by altmany on 2011-12-12 14:21:15

(Original issue 22 last updated on 2011-12-12T14:21:15+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-12-17T09:04:55+00:00)
Hi, could you please send the code of your CustomChoice?

The exact behaviour of a CustomChoice depends in fact of your implementation of the
getFilter() method. The representation (*text) is only used to display the choice,
has no impact on the produced filter.

Regards,

  Lu.

Original issue reported on code.google.com by coderazzi on 2011-12-17 09:04:55

(Original comment by {u'display_name': u'altmany', u'account_id': None} on 2011-12-17T19:54:07+00:00)
The code is very simple. I do not use custom Java classes but rather use the defaults,
as follows:

   cc1 = net.coderazzi.filters.gui.CustomChoice.create('*Lo','Long');
   cc2 = net.coderazzi.filters.gui.CustomChoice.create('*Sh','Short');
   choices = java.util.HashSet();
   choices.add(cc1); choices.add(cc2);
   filter = net.coderazzi.filters.gui.TableFilterHeader(jtable);
   filter.getFilterEditor(colIdx).setCustomChoices(choices);

This fails to discover cell contents such as "Long" or "<html><span style="background-color:#00ff00;">Long..."
- either the choice is not presented at all (indicating that the filter thought that
there is no match), or when selecting the choice I only get part of the results.

My workaround was to specify CustomChoices with the exact data contents (which works
as expected), but I would obviously like wildcards to work.

Original issue reported on code.google.com by altmany on 2011-12-17 19:54:07

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-12-19T00:45:24+00:00)
Hi,

the way CREATE works, it expects a full match (ignoring case eventually), no regular
expressions involved here. It is obviously easy to extend this behavior, but it would
penalize the simpler cases where an exact match is required. I will see how this can
be better accomplished (including an additional CREATE method does not seem the best
option).

Best regards,

  Lu.

Original issue reported on code.google.com by coderazzi on 2011-12-19 00:45:24

(Original comment by {u'display_name': u'altmany', u'account_id': None} on 2011-12-19T01:08:26+00:00)
How about an extra optional input param flag (default=false) indicating whether the
new CustomChoice is a regex?

Original issue reported on code.google.com by altmany on 2011-12-19 01:08:26

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-12-20T03:02:20+00:00)
Hi; implementing the optional parameter, with Java not directly supporting them, implies
still an additional method.... which perhaps is not needed. My point is that I was
in fact blindfolded, not remembering why I hadn't included wildcards support from the
first moment.

The usage of wildcards on the filters depends on the parser implementation (net.coderazzi.filters.IParser).
The default one(the only one supplied with the library) implements the pseudo regular
expressions support, and is therefore responsible to filter, for the expression "*Long*",
all column's values containing the string "Long".

The CustomChoice has no information on the parser used (columns with rendered content
lack a parser, for once), so there are no solid grounds to interpret the string as
a regular expression. A programmer could change the parser implementation to use SQL-like
wildcards (% instead of *), and this would break the suggested behaviour for CustomChoice.

So, I could extend the interfaces to relate the CustomChoice with the IParser, but
I think a better solution is to accept a java.util.Pattern instance as CustomChoice.create
parameter. In this case, your initial example would simply be:

cc1 = net.coderazzi.filters.gui.CustomChoice.create(Pattern.compile('.*Lo'),'Long');

More verbose, but seems also more generic, what do you think?

Best regards,

 Luis

Original issue reported on code.google.com by coderazzi on 2011-12-20 03:02:20

(Original comment by {u'display_name': u'altmany', u'account_id': None} on 2011-12-20T07:29:32+00:00)
I agree - this way the interface of create(Object) would not need to be modified, only
the internal implementation, and similarly for createSet(Object[] or Collection).

I would suggest modifying the constructor methods similarly, to accept Object rather
than String as the first input arg, so that they could also support Pattern.

As a final modification, I suggest adding the missing public methods setIcon(Icon)
and setPrecedence(int) - the CustomChoice class already includes the getter methods
for them, and allows to set them using the constructors, but there are no setter methods
so users like me who use the static create() methods have no way to set the icon and
precedence.

Original issue reported on code.google.com by altmany on 2011-12-20 07:29:32

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-12-20T23:52:40+00:00)
Hi, done this feature, I included the setIcon and setPrecedence methods, plus the inclusion
of the Pattern on the create method.

The createSet method does not benefit much from this change, as the default representation
would be the string associated to the Pattern -normally, not very user friendly-. For
this reason, I have included also setRepresentation and getRepresentation methods.

For your suggestion about the constructor, please note that the string provided as
parameter is just the representation of the custom choice, must remain as String.

I have commited the changes into the mercurial repository, I plan to deliver it together
with issue 23.

Original issue reported on code.google.com by coderazzi on 2011-12-20 23:52:40

(Original comment by {u'display_name': u'altmany', u'account_id': None} on 2011-12-21T00:23:19+00:00)
thanks Luis

Regarding the constructor - my mistake: I thought that the input parameter is the pattern
not the representation. But in this case, I think it makes sense to add setPattern
and getPattern methods so that users could modify the pattern just like they can now
modify the representation, icon and precedence.

Regarding createSet, I think that a createSet variant that also accepts a java.util.Map
will make it easier for users to create a set of CustomChoices with pattern-representation
pairs, instead of having to use the new setRepresentation method for each CustomChoice
separately. I think that it would make external code simpler and more maintainable.
Admittedly, this is not a major issue.

Sorry if all this is turning CustomChoice into a bloated monster... :-)

Original issue reported on code.google.com by altmany on 2011-12-21 00:23:19

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2011-12-21T01:28:15+00:00)
Indeed it would become really bloated! I do not know, these are helper methods to perform
a precise task, I am more tempted to deprecate createSet and remove it in the future.
If a user ever needs to use it, he/she could implement it easily. Better than providing
infinite methods trying to cover all small nuances (as I am sure that new scenarios
would appear).

Concerning setPattern / getPattern, please note that a CustomChoice does not require
a Pattern at all (see for example the custom choices CustomChoice.MATCH_ALL or CustomChoice.MATCH_EMPTY).

Cheers, and thanks for your feedback!

  Lu.

Original issue reported on code.google.com by coderazzi on 2011-12-21 01:28:15

(Original comment by {u'display_name': u'coderazzi coderazzi', u'account_id': u'557058:790eb198-2ae4-49b4-b920-8d654aa86b3f'} on 2012-01-16T22:44:30+00:00)
Fixed on release 4.3.0

Original issue reported on code.google.com by coderazzi on 2012-01-16 22:44:30


允许重命名标签

Is your feature request related to a problem?
目前标签名称一旦设定了就无法重命名
Describe the solution you'd like
增加重命名标签功能，例如：

Added the ability to rename tags

When the mouse hovers over the tag, the options button appears on the right
Click the option button, then the pop-up window appears, which has rename and delete options

Additional context
No response

Duplicate of #470

Obsidian有个类似的社区插件来管理标签.
Obsidian uses a tag tree too and they have a community plugin for this (renaming, merging etc).


🙋 🙋 SyntaxError: Cannot use import statement outside a module

Hello~
'next.js' is being used and if you try to run the code below, you will get an error. Please check it.
javascript
import { create } from 'zustand'
import zukeeper from 'zukeeper'
const initialState = {
count: 0
}
const CounterStore = create(
zukeeper((set) => ({
...initialState,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
resetCounterStore: () => set(initialState)
}))
)
window.store = CounterStore
export default CounterStore

Same issue here. Probably due to the SSR in nextjs.

Same issue here but Typescript

Don't want to hate on this package nor the authors - I really like the idea and effort - but FYI: it just works with redux devtools
https://github.com/pmndrs/zustand#redux-devtools


Use a class for styling rather than

Pull Request Description
this changes from using <a> to <div class='link'> for the cells with on double click behaviour in the table viz
Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[ ] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[ ] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[ ] Unit tests have been written where possible.

requesting review from kaz c.f. https://github.com/enso-org/enso/pull/10489#discussion_r1670563964

just a heads up re: issue/comment formatting -

for replies to quotes you need a blank line in between otherwise the next line ends up inside the same quote
apparently html tags like <div> and <a> need to be escaped somehow - either using monospace <a> or html escape sequences (<a> becomes <a>)


Improved merging process

Hi,
Thank you!
Can you elaborate what is in this commit. And can you provide examples of this?
Best regards,
HeXu


add startDate

In cases when you have empty data value, but you would like to start from a custom date, was added startDate property

Coverage decreased (-0.8%) to 96.552% when pulling d751ae5f730316395c138ee390a0474d12643d8a on vendicto:master into 2a209bd4f11a84ff4543fbde930fed60dcbc0f68 on xgfe:master.


Run test with MySQL

I'm trying to run your docker package to launch my Dusk tests. But I have an error related to MySQL, I don't know if it's related to your package or not, so I prefear to ask here before.
(If it's not related, I'll move this quesiton to the docker/mysql)
I'm using the folowing version

Gitlab 10.0.3
Docker v 18.03.1-ce
Gitlab-runner 11.0 (through docker)
MySQL 5.7 (through Docker)

When my job is launched I get
Running with gitlab-runner 11.0.0 (5396d320)
  on Gitlab-runner web 694c0a31
Using Docker executor with image chilio/laravel-dusk-ci:stable ...
Starting service mysql:5.7 ...
Pulling docker image mysql:5.7 ...
Using docker image sha256:66bc0f66b7af6ba3ea96582685d3afcd6dff93c2f8999da0ffadd67b280db548 for mysql:5.7 ...
Waiting for services to be up and running...

*** WARNING: Service runner-694c0a31-project-30-concurrent-0-mysql-0 probably didn't start properly.

Health check error:
service "runner-694c0a31-project-30-concurrent-0-mysql-0-wait-for-service" timeout

I don't know why my current mysql container is not used and a "concurrent" version is displayed here
But just after I have this
2018-07-13T09:48:46.166996215Z Initializing database
[...]
2018-07-13T09:49:21.483652451Z Database initialized
2018-07-13T09:49:21.485018618Z Initializing certificates
2018-07-13T09:49:21.509636892Z Generating a 2048 bit RSA private key

So I guess, it's something great ?!
But at the end
Pulling docker image chilio/laravel-dusk-ci:stable ...
Using docker image sha256:e0da075c669a703e615f4cab3d08b2c03e6de138c9d2bc82399e0e9823719b0d for chilio/laravel-dusk-ci:stable ...
Running on runner-694c0a31-project-30-concurrent-0 via d09f531ddeb7...
Fetching changes...
HEAD is now at cf063fe Update .gitlab-ci.yml
Checking out cf063fe3 as master...
Skipping Git submodules setup
Checking cache for master...
Successfully extracted cache
ERROR: Job failed (system failure): Error response from daemon: Cannot link to a non running container: /runner-694c0a31-project-30-concurrent-0-mysql-0 AS /runner-694c0a31-project-30-concurrent-0-build-4/mysql

Through docker I can use docker exec -it some-mysql bash and connect to my mysql and show the databases.
I'm new to docker/testing env so maybe I missed a concept, sorry if this is the case.

@Raccoon5031 if you can in your environment, please do reboot your gitlab-runner host.
Then please remove all cache and artifacts routines also (cause they might interfere with your current workflow). Although  kinda strange please do...
Then check, if you are not running out of storage space.
Nonetheless  you should install gitlab-cleaner for your gitlab setup.
For now, that are my ideas, to your problem.
If you will still be running into these issues, please post more data (especially error details)....
BTW. I have experienced similar errors on an overloaded VM machine, with 10 concurrent runners, so therefore you should check your resources Storage, LAN, CPU (and exactly in this order)

Hi @chilio,
Thanks for your answer.
I restarted the gitlab-runner host, removed all chache.
My disk usage is only at 25% for the concerned partition.
No connection issue and the CPU is used at 1% by default. 12% when the test is starting (building phase, during a few seconds) and then between 3 and 6 % until the pipeline failed. Then again 1%.
Here is the complete result of the job
Running with gitlab-runner 11.0.0 (5396d320)
  on Gitlab-runner web 694c0a31
Using Docker executor with image chilio/laravel-dusk-ci:stable ...
Starting service mysql:5.7 ...
Pulling docker image mysql:5.7 ...
Using docker image sha256:66bc0f66b7af6ba3ea96582685d3afcd6dff93c2f8999da0ffadd67b280db548 for mysql:5.7 ...
Waiting for services to be up and running...

*** WARNING: Service runner-694c0a31-project-30-concurrent-0-mysql-0 probably didn't start properly.

Health check error:
service "runner-694c0a31-project-30-concurrent-0-mysql-0-wait-for-service" timeout

Health check container logs:

Service container logs:
2018-07-16T07:56:26.306168426Z Initializing database
2018-07-16T07:56:26.330132064Z 2018-07-16T07:56:26.327382Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-07-16T07:56:27.887992195Z 2018-07-16T07:56:27.884828Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-07-16T07:56:29.296405895Z 2018-07-16T07:56:29.295980Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-07-16T07:56:30.103526296Z 2018-07-16T07:56:30.103336Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: bfb8ce8a-88cd-11e8-9b4d-0242ac110004.
2018-07-16T07:56:30.170889955Z 2018-07-16T07:56:30.167405Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-07-16T07:56:30.170933239Z 2018-07-16T07:56:30.168589Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

*********

Pulling docker image chilio/laravel-dusk-ci:stable ...
Using docker image sha256:e0da075c669a703e615f4cab3d08b2c03e6de138c9d2bc82399e0e9823719b0d for chilio/laravel-dusk-ci:stable ...
Running on runner-694c0a31-project-30-concurrent-0 via d09f531ddeb7...
Fetching changes...
Removing vendor/
HEAD is now at cf063fe Update .gitlab-ci.yml
Checking out cf063fe3 as master...
Skipping Git submodules setup
Checking cache for master...
Successfully extracted cache
$ composer install --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 90 installs, 0 updates, 0 removals
  - Installing symfony/process (v4.0.9): Downloading (100%)
  - Installing psr/log (1.0.2): Downloading (100%)
  - Installing knplabs/knp-snappy (v1.0.4): Downloading (100%)
  - Installing vlucas/phpdotenv (v2.4.0): Downloading (100%)
  - Installing symfony/css-selector (v4.0.9): Downloading (100%)
  - Installing tijsverkoyen/css-to-inline-styles (2.2.1): Downloading (100%)
  - Installing symfony/polyfill-php72 (v1.8.0): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%)
  - Installing symfony/var-dumper (v4.0.9): Downloading (100%)
  - Installing symfony/routing (v4.0.9): Downloading (100%)
  - Installing symfony/http-foundation (v4.0.9): Downloading (100%)
  - Installing symfony/event-dispatcher (v4.0.9): Downloading (100%)
  - Installing symfony/debug (v4.0.9): Downloading (100%)
  - Installing symfony/http-kernel (v4.0.9): Downloading (100%)
  - Installing symfony/finder (v4.0.9): Downloading (100%)
  - Installing symfony/console (v4.0.9): Downloading (100%)
  - Installing doctrine/lexer (v1.0.1): Downloading (100%)
  - Installing egulias/email-validator (2.1.4): Downloading (100%)
  - Installing swiftmailer/swiftmailer (v6.0.2): Downloading (100%)
  - Installing paragonie/random_compat (v2.0.12): Downloading (100%)
  - Installing ramsey/uuid (3.7.3): Downloading (100%)
  - Installing psr/simple-cache (1.0.1): Downloading (100%)
  - Installing psr/container (1.0.0): Downloading (100%)
  - Installing symfony/translation (v4.0.9): Downloading (100%)
  - Installing nesbot/carbon (1.25.0): Downloading (100%)
  - Installing monolog/monolog (1.23.0): Downloading (100%)
  - Installing league/flysystem (1.0.45): Downloading (100%)
  - Installing erusev/parsedown (1.7.1): Downloading (100%)
  - Installing dragonmantank/cron-expression (v2.1.0): Downloading (100%)
  - Installing doctrine/inflector (v1.3.0): Downloading (100%)
  - Installing laravel/framework (v5.6.21): Downloading (100%)
  - Installing barryvdh/laravel-snappy (v0.4.1): Downloading (100%)
  - Installing psr/http-message (1.0.1): Downloading (100%)
  - Installing guzzlehttp/psr7 (1.4.2): Downloading (100%)
  - Installing guzzlehttp/promises (v1.3.1): Downloading (100%)
  - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)
  - Installing h4cc/wkhtmltopdf-amd64 (0.12.4): Downloading (100%)
  - Installing jakub-onderka/php-console-color (0.1): Downloading (100%)
  - Installing laracasts/flash (3.0.2): Downloading (100%)
  - Installing nikic/php-parser (v4.0.1): Downloading (100%)
  - Installing jakub-onderka/php-console-highlighter (v0.3.2): Downloading (100%)
  - Installing dnoegel/php-xdg-base-dir (0.1): Downloading (100%)
  - Installing psy/psysh (v0.9.3): Downloading (100%)
  - Installing laravel/tinker (v1.0.6): Downloading (100%)
  - Installing laravelcollective/html (v5.6.8): Downloading (100%)
  - Installing phpseclib/phpseclib (2.0.11): Downloading (100%)
  - Installing league/flysystem-sftp (1.0.15): Downloading (100%)
  - Installing phpoffice/phpexcel (1.8.1): Downloading (100%)
  - Installing symfony/polyfill-util (v1.8.0): Downloading (100%)
  - Installing symfony/polyfill-php56 (v1.8.0): Downloading (100%)
  - Installing jeremeamia/superclosure (2.4.0): Downloading (100%)
  - Installing maatwebsite/excel (2.1.28): Downloading (100%)
  - Installing pusher/pusher-php-server (v3.0.3): Downloading (100%)
  - Installing spatie/laravel-blade-javascript (2.2.0): Downloading (100%)
  - Installing spatie/laravel-permission (2.12.1): Downloading (100%)
  - Installing unisharp/laravel-ckeditor (4.7.2): Downloading (100%)
  - Installing filp/whoops (2.1.14): Downloading (100%)
  - Installing fzaninotto/faker (v1.7.1): Downloading (100%)
  - Installing facebook/webdriver (1.5.0): Downloading (100%)
  - Installing laravel/dusk (v3.0.8): Downloading (100%)
  - Installing hamcrest/hamcrest-php (v1.2.2): Downloading (100%)
  - Installing mockery/mockery (0.9.9): Downloading (100%)
  - Installing webmozart/assert (1.3.0): Downloading (100%)
  - Installing phpdocumentor/reflection-common (1.0.1): Downloading (100%)
  - Installing phpdocumentor/type-resolver (0.4.0): Downloading (100%)
  - Installing phpdocumentor/reflection-docblock (4.3.0): Downloading (100%)
  - Installing phpunit/php-token-stream (3.0.0): Downloading (100%)
  - Installing sebastian/version (2.0.1): Downloading (100%)
  - Installing sebastian/resource-operations (1.0.0): Downloading (100%)
  - Installing sebastian/recursion-context (3.0.0): Downloading (100%)
  - Installing sebastian/object-reflector (1.1.1): Downloading (100%)
  - Installing sebastian/object-enumerator (3.0.3): Downloading (100%)
  - Installing sebastian/global-state (2.0.0): Downloading (100%)
  - Installing sebastian/exporter (3.1.0): Downloading (100%)
  - Installing sebastian/environment (3.1.0): Downloading (100%)
  - Installing sebastian/diff (3.0.0): Downloading (100%)
  - Installing sebastian/comparator (3.0.0): Downloading (100%)
  - Installing phpunit/php-text-template (1.2.1): Downloading (100%)
  - Installing doctrine/instantiator (1.1.0): Downloading (100%)
  - Installing phpunit/phpunit-mock-objects (6.1.1): Downloading (100%)
  - Installing phpunit/php-timer (2.0.0): Downloading (100%)
  - Installing phpunit/php-file-iterator (1.4.5): Downloading (100%)
  - Installing theseer/tokenizer (1.1.0): Downloading (100%)
  - Installing sebastian/code-unit-reverse-lookup (1.0.1): Downloading (100%)
  - Installing phpunit/php-code-coverage (6.0.4): Downloading (100%)
  - Installing phpspec/prophecy (1.7.6): Downloading (100%)
  - Installing phar-io/version (1.0.1): Downloading (100%)
  - Installing phar-io/manifest (1.0.1): Downloading (100%)
  - Installing myclabs/deep-copy (1.7.0): Downloading (100%)
  - Installing phpunit/phpunit (7.1.5): Downloading (100%)
knplabs/knp-snappy suggests installing h4cc/wkhtmltoimage-amd64 (Provides wkhtmltoimage-amd64 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing h4cc/wkhtmltoimage-i386 (Provides wkhtmltoimage-i386 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing h4cc/wkhtmltopdf-i386 (Provides wkhtmltopdf-i386 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing wemersonjanuario/wkhtmltopdf-windows (Provides wkhtmltopdf executable for Windows, use version `~0.12` as dependency)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/browser-kit ()
symfony/http-kernel suggests installing symfony/config ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
symfony/console suggests installing symfony/lock ()
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
symfony/translation suggests installing symfony/config ()
symfony/translation suggests installing symfony/yaml ()
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.6).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (~1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (~1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
laravel/framework suggests installing symfony/dom-crawler (Required to use most of the crawler integration testing tools (~4.0).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to psr7 bridging features (~1.0).)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit suggests installing phpunit/php-invoker (^2.0)
Package phpoffice/phpexcel is abandoned, you should avoid using it. Use phpoffice/phpspreadsheet instead.
Generating optimized autoload files
ERROR: Job failed (system failure): Error response from daemon: Cannot link to a non running container: /runner-694c0a31-project-30-concurrent-0-mysql-0 AS /runner-694c0a31-project-30-concurrent-0-predefined-5/mysql

Do I need a MySQL container running with a specific version ?
Or do I need to setup something before concerning the database ?

I also tried to use your 3 versions (latest, stable, old-stable) but I have the same issue.

@chilio

Then please remove all cache and artifacts routines also (cause they might interfere with your current workflow). Although kinda strange please do...

I left an artifact without realizing it. After removing it, everything worked directly.
Thank you for your help !
Maybe it would be interesting to mention that in the "Troubleshooting" part?


Support injecting default environment variables into steps

Atlantis supports injecting certain default environment variables into run steps, see Notes blockt at https://www.runatlantis.io/docs/custom-workflows.html#custom-run-command. These variables are partially generated from Infos of the Digger workflow like the Digger/Atlantis project name so they can't just be injected from outside.
A nice use case would be to set the state backend depending on the workflow:
projects:
- name: production
  dir: .
  workflow: default
- name: sandbox
  dir: .
  workflow: default

workflows:
  default:
    plan:
      steps:
      - init:
        extra_args: ["-backend-config="key=${BASE_REPO_NAME}/${PROJECT_NAME}.tfstate"]
      - plan:
        extra_args: ["-var-file=configs/${PROJECT_NAME}.tfvars"]

This singe workflow allows running multiple environments or deployments in a single directory of terraform code. The states will be separated automatically depending on the digger project name and also different terraform variables can be set per project.
As discussed with @motatoes on Slack, Digger should support at least the same set of Environment variables Atlantis does to be on par with their configuration here.
As a side note, these injected default variables are in Atlantis only available in run steps, not in init/plan/apply steps. This is sufficient because a run step can set an environment variable like this TF_CLI_ARGS_plan="-backend-config=\"key=${BASE_REPO_NAME}/${PROJECT_NAME}.tfstate\"" but of course supporting them in init/plan/apply steps directly would be even more convenient.
The Atlantis code for these variables can be found here: https://github.com/runatlantis/atlantis/blob/main/server/core/runtime/run_step_runner.go#L39 .

Thanks for filing @joerg ! Super helpful


reporter dynamic imported move chunks

Documentation is

[X] Missing
[x] Outdated
[x] Confusing
[x] Not sure?

Explain in Detail
I received this warning, but then it disappeared spontaneously
How can I output this log again?

Your Suggestion for Changes
Maybe add option that enable/disable this log?
Reproduction
No response
Steps to reproduce
No response

I can't reproduction because log disappeared
I wan return this, but I don't know how make it


Updated MOD_STAFF, SKIP and user object

I'd recommend also updating the Wiki for it, it says it returns the ID of who was skipped but even plug doesn't return that.

Some good catches in there, I added some comments to clarify some parts. Also I'd like to mention that it was the case that plug used to chance the API every once in a while without an announcement, (certainly there is no information whatsoever in how far they will do this now since the owner has changed) which is part of why I really appreciate every contribution made.
It'd be a nice plus if you could clean up the commit messages a little and apply the style of the commits that has been made to the project so far :smile:
Thank you for your contribution to the project!
Have a nice day

Oh, interesting, I made those changes on my own to later someone suggest me to do a pull request, and I'm not used to doing this. Sorry if most of the things are sloppy (mainly commit messages). I'll fix what you pointed out, but the promotion event wasn't updating the user rank in state.room.users. The change was mostly that, just happened to do the plural to make it more clear to whoever sees it.
If there is still anything missing, let me know. Again, I'm not good with GitHub :stuck_out_tongue:

Don't worry, we're all constantly learning after all :stuck_out_tongue:
The problem why the rank didn't update is that I used it as an object instead of as an array while the mapper returns the array. Changing it into a plural form was absolutely right (and the mapper method could be named to plural as well), what I meant though is the nested loop you added. Since the second user in the array can only be the host, I suggest (as in the comment before) to unwind the loop, which makes the function linear again, so there's a lot of time saving with little verbosity :smile:

Oh well, sorry, I made my contributions but sincerely I think the change you mentioned would be a nanosecond difference, I'm not gonna bother doing it, if you want to take what I contributed, feel free to do so and edit it.
Besides I'm not sure how you'd look for the host without looping the array anyway.

we're talking JS here haha. It'll approximately be around 70% increase in time +- 10% on V8, granted it happens rarely that the host is changed but it's time taken that could be used for other things. But fair enough :smile:, I'll apply the changes.
Have a nice weekend!


WIP: New business flow

Description

Checklist:

[ ] Have you documented your changes in the pull request description?
[ ] Does the change present any security considerations?
[ ] Is any gem functionality overloaded? Eg: Devise controller methods being overloaded.
[ ] Has acceptance criteria been tested by a peer?
[ ] Has the CHANGELOG been updated? (If change is worth telling users about.)

General testing (author)

[ ] Test without JavaScript
[ ] Test on small screen

Accessibility testing (author)

[ ] Works keyboard only
[ ] Tested with one screen reader
[ ] Zoom page to 400% - content still visible
[ ] Disable CSS - does content make sense and appear in a logical order?

Codecov Report

Merging #1615 (449d279) into master (b232a37) will decrease coverage by 79.06%.
The diff coverage is 0.44%.

@@             Coverage Diff             @@
##           master    #1615       +/-   ##
===========================================
- Coverage   89.74%   10.67%   -79.07%
===========================================
  Files         388      395        +7
  Lines        8325    11969     +3644
  Branches     1218      332      -886
===========================================
- Hits         7471     1278     -6193
- Misses        679    10650     +9971
+ Partials      175       41      -134

Impacted Files
Coverage Δ

...p/controllers/business_relationships_controller.rb
0.00% <0.00%> (ø)

app/controllers/businesses_controller.rb
0.00% <0.00%> (-87.18%)
:arrow_down:

...ontrollers/investigations/businesses_controller.rb
0.00% <0.00%> (-92.24%)
:arrow_down:

...ecorators/audit_activity/business/add_decorator.rb
0.00% <ø> (-100.00%)
:arrow_down:

...activity/business_relationship/update_decorator.rb
0.00% <0.00%> (ø)

app/forms/business_form.rb
0.00% <0.00%> (ø)

app/forms/business_relationship_form.rb
0.00% <0.00%> (ø)

app/models/audit_activity/business/add.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

...els/audit_activity/business_relationship/update.rb
0.00% <0.00%> (ø)

app/services/create_business.rb
0.00% <0.00%> (ø)

... and 328 more

Continue to review full report at Codecov.

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


Make Login and Register Page Responsive

Use Bootstrap instead of Styled Components

Is anyone working on this issue?

Yes, Kanisht09 is working, you can try to solve out other issues.


smoke test for layout problem with digital montage when plotting raw

all in the title

following on #3971

Great, thanks. @jaeilepp do you know what the right fix is here?

Closing for #3977


uucore: add prompt_yes macro

Several utils (cp, ln, rm and mv) have some places where they prompt the user for  yes or no. Currently, they use custom implementation with slightly different details (different suffix, printing to stdout instead stderr, etc.). Therefore, I wanted to unify them. I've moved prompt_yes from cp to uucore with slight modifications. It supports format!-style syntax, puts the util name up from and adds [y/N]: to the end.
That suffix is actually interesing. cp had it, but none of the other utils did. GNU also does not have it (not even for cp). I liked it though so I kept it, but it is a deliberate incompatibility with GNU so I can remove it. In general though, this PR brings uutils closer to GNU, because we now always print the prompt to stderr, just like GNU.

Okay reverting the addition of [y/N]:. It breaks too many GNU tests.

Hey cool, we even get a new passing test :)


[numpy] random.rand

Description
Add
https://docs.scipy.org/doc/numpy-1.16.0/reference/generated/numpy.random.rand.html
Heavily Referenced from #15903
@xidulu Thank You.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Wrappers
[x] Test

Please rebase with current master and resolve the conflicts @kshitij12345

@haojin2
Sure will do that and update.
Rebase with master or numpy branch?

@reminisce @haojin2 @xidulu Sorry for the delayed action. Please review.

@kshitij12345 Thanks for your contribution. It's merged through https://github.com/apache/incubator-mxnet/pull/16554. I added missing implementation in mxnet/ndarray/numpy/random.py.

@reminisce Oh did not notice it. Thank You. Will close this one.


PR: Don't update conda because it takes too much time (Testing)

Description of Changes
Don't update conda in our CIs because it takes too much time: 4 minutes on Windows, and one minute and a half on Linux and Mac.
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: ccordoba12

Sorry, I noticed that this doesn't change anything. The problem is with a huge delay in conda the first time it installs packages.


@select gives Uncaught TypeError: Cannot convert undefined or null to object

Trying to get a minimal working example setup, but I can't get past this error:
Line with if (delete this[key]) {) (https://github.com/angular-redux/ng2-redux/blob/master/src/decorators/select.ts#L32)
Uncaught TypeError: Cannot convert undefined or null to object
Can't debug with the example counter due to #165.
I can see that my store is created correctly (via getState()) and I know the component otherwise works correctly if I set the todos property manually.
From https://github.com/rxlabs/tasty-todos-ng2/blob/bug-select/app/containers/visible-todo-list/visible-todo-list.component.ts
import { select } from 'ng2-redux';
import { Component } from '@angular/core'

import { TodoList } from '../../components/todo-list/todo-list.component'

@Component({
  directives: [TodoList],
  selector: 'visible-todo-list',
  template: `
    <todo-list [todos]="todos"></todo-list>
    `
})

export class VisibleTodoList {
  // todos = [{name: 'thing'}] // works if I uncommnet this
  @select() todos              // and remove this
}

From https://github.com/rxlabs/tasty-todos-ng2/blob/bug-select/app/containers/app/app.component.ts
import { NgRedux } from 'ng2-redux';
import { Component } from '@angular/core'

import { store } from '../../store'
import { VisibleTodoList } from '../visible-todo-list'

@Component({
  directives: [VisibleTodoList],
  selector: 'tasty-app',
  template: `
    <h1>{{title}}</h1>
    <visible-todo-list></visible-todo-list>
    `
})

export class App {
  constructor(private ngRedux: NgRedux) {
    this.ngRedux.provideStore(store)
  }
  title = 'Tasty Todos in Angular 2'
}

Hi @razor-x
I was able to get your example to work using the following:
import { NgRedux, select } from 'ng2-redux';
import { Component } from '@angular/core'

import { TodoList } from '../../components/todo-list/todo-list.component'

@Component({
  directives: [TodoList],
  selector: 'visible-todo-list',
  template: `
    <!-- since select gives you an observable, you need to unbox it with | async before
       -- adding it to ngFor in the child component.
       -->
    <todo-list [todos]="todos | async"></todo-list>
    `
})
export class VisibleTodoList {
  //@select() todos;
  private todos;

  constructor(private ngRedux: NgRedux<any>) {
    this.todos = ngRedux.select('todos');
  }
}

I made two changes:

select returns an observable, not a list. That means that you either need to subscribe to it or use angular's async pipe in the template as I did above.
I used the .select function for now since the decorator isn't working in your case.

There must be something I'm missing about the setup for, 2; we're still looking into it.

As for #165, it's been fixed.

@kosz @e-schultz : I'm curious about the line that's generating the error: https://github.com/angular-redux/ng2-redux/blob/master/src/decorators/select.ts#L32
Should it be if (delete target[key]) instead? What is this in this scenario?

I checked out razor-x's repo and branch (thanks for that) and hacked the local node_modules with this: https://github.com/angular-redux/ng2-redux/pull/168
It appears to fix the issue with @select in his repo.

@SethDavenport Thanks for the quick reply.
I can confirm the changes you made work: either bypassing @select() or using @select() after hot-applying the patch.
One possible suggestion for the docs: as someone just getting up to speed with Observables and Angular 2, it wasn't obvious to me why the async pipe was needed, or the meaning of the (ignored) trailing$. A brief note and/or link for others seeing that here first might help avoid some mystery.

Sure, good suggestion.

@razor-x 3.3.1 has been published today, thanks for raising the issue.


Feature: Extend Ionic 2 Select Component to interface with Modal Component

Ionic version:  (check one with "x")
[ ] 1.x
[x ] 2.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Cannot extend Ionic 2 select component to use Modal interface
Expected behavior:

like to extend Ionic 2 select component to use Modal Interface.

Hello everyone! Thanks for the feature request. I'm going to move this issue over to our internal list of feature requests for evaluation. We are continually prioritizing all requests that we receive with outstanding issues. We are extremely grateful for your feedback, but it may not always be our next priority. I'll copy the issue back to this repository when we have begun implementation. Thanks!

This issue was moved to driftyco/ionic-feature-requests#92


Unknown Broadlink Device (RM4C mini) - 6539

We've discovered an unknown Broadlink device. This likely won't cause any issues.
Please raise an issue in the GitHub repository (https://github.com/lprhodes/homebridge-broadlink-rm/issues) with details of the type of device and its device type code: "6539". The device is connected to your network with the IP address

+1 Same device and code.

+1 Same here. any idea or solution?

+1 Same device


 Like in the screenshots of the main page. Thanks!

In system tray menu click settings Action button to access settings.


Query History doesn't capture separate batches in a single query

select * from sys.databases
go
select * from sys.tables
go

This results in a single entry in Query History for the first batch but doesn't capture the second or any subsequent batches.

Fixed by https://github.com/microsoft/azuredatastudio/pull/19794


[Usage] Some weights of LlavaLlamaForCausalLM were not initialized from the model checkpoint

When I use v1_5/finetune_task.sh to fine-tune llava-v1.5-7b, I receive a warning: 'Some weights of LlavaLlamaForCausalLM were not initialized from the model checkpoint at /root/paddlejob/workspace/env_run/space/output/POVID/llava-v1.5-7b and are newly initialized: ['model.vision_tower.vision_tower.vision_model.embeddings.class_embedding', 'model.vision_tower.vision_tower.vision_model.embeddings.patch_embedding.weight', 'model.vision_tower.vision_tower.vision_model.embeddings.position_embedding.weight',...'
Additionally, my image features are resulting in NaN values. I have verified that both my image path and the CLIP model path are valid.
The error only occurs before and after encode_images. In the following code, the first print outputs False, and the second print outputs True:
print(torch.isnan(images).any())
image_features = self.encode_images(images)
print(torch.isnan(image_features).all())

Hello, I encountered the same issue when using the Lora finetune model for mmbench evaluation

did you solve it

Hello, I encountered the same issue when using the Lora finetune model for mmbench evaluation  did you solve it

I'm still trying to solve it, but you can take a look at the solution for issue #672 .

Hello, after loading the model weights with LoRA, I encountered the same issue where the model outputs were blank. Have you found a solution? Thank you.


Updates

Migrated codebase from old sis course schema to using the new sis course schema, which is based on providing multiple versions of sis courses depending on semester and year available.

code cleanup and modularization of some messy components.

wrote up better code documentation.

I'll definitely look into this!


[MNT] tensorflow version bound

Describe the issue
tensorflow recently released version 2.16.0, which has some breaks in the CI testing. An upper bound has been set temporarily until these issues have been resolved.
Suggest a potential alternative/fix
Remove the upper abound and resolve issues from the new release.
Additional context
No response

removed