Chrome extension doesn't work on chromium - google-chrome-extension

the chrome extension
http://code.google.com/chrome/extensions/samples.html#5d81304a17cf7ac2887484f730fbd2b01e51e166
Doesn't work on chromium, I use chromium 13.0.782.107 and when loading the extension nothing happens .
My chromium version doesn't have an arrow icon next to the extension description with a link that opens the background console and I don't know how to open it.
Thanks a lot for helping

The manifest of the sample extension looks like:
...
"background": {
"scripts": ["sample.js"]
},
"manifest_version": 2
The new background notation was introduced in Chrome 18, and therefore not recognised in earlier versions. Additionally, manifest version 2 was also introduced in Chrome 18, so that key is also irrelevant.
I strongly recommend to upgrade Chromium to a recent version (current stable Chromium version is 21). If you can't do that, for some reason, the manifest file has to be corrected as follows:
Replace "background": {...} with "background_page": "sample.html"
Rename sample.js to sample.html, and surround the contents by <script> tags.

Related

Intellij won't automatically resolve npm local dependencies

In my project for some reasons i'm using local npm dependencies like such in my package.json
{
"name": "my-super-project",
"version": "1.0.0",
"dependencies": {
...
"my-other-project": "file:../my-other-project",
},
"devDependencies": {
...
},
}
All the building and serving part works all fine though during development, there is no autocompletion suggested by IntelliJ in fact, it may suggest the import but really hidden under the More actions...
No direct suggestion
then when i click on it i have the suggestion i want.
Question being, why doesn't Intellij resolve my local dependencies as all other npm modules and suggest the import directly and how to possibly work around this or fix it ?
This is bringing confusion to the team when someone creates an element and someone else tries to importing, you have to write the exact name without Typo for intellij to suggest the appropriate import 3 clicks away within the usually unused because farfetched "more options".
I have tried digging through Settings > Editor > General > Code Completion & Postfix Completion without success, if someone has an idea would be greatly appreciated

Pharo dependency hell

I am trying to develop a simple project in Pharo, and I would like to add its dependencies in Metacello. My project depends on Glamour, Roassal and XMLSupport.
A way to cleanly install my project is to install the dependencies by hand first. Following the book Deep into Pharo one can do
Gofer new
smalltalkhubUser: 'Moose' project: 'Glamour';
package: 'ConfigurationOfGlamour';
load.
(Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault.
Gofer new smalltalkhubUser: 'ObjectProfile'
project: 'Roassal';
package: 'ConfigurationOfRoassal';
load.
(Smalltalk at: #ConfigurationOfRoassal) load.
Gofer new
squeaksource: 'XMLSupport';
package: 'ConfigurationOfXMLSupport';
load.
(Smalltalk at: #ConfigurationOfXMLSupport) perform: #loadDefault.
and then my project will work fine.
I have tried to create a ConfigurationOfMyProject using the Versionner, and I have added Glamour, Roassal and XMLSupport as dependencies, using the version that are currently installed in my image (2.6-snapshot, 1.430 and 1.2.1 respectively).
The problem is that I am not able to load my project using Metacello in a fresh image. The project loads fine, but whenever I try to load my classes I get method missing errors in Glamour. Moreover, it is apparent that something is different, because even the world menu has different entries.
I have tried other combinations of versions, including using the stable Glamour (2.1) but I have obtained more errors, including not even being able to open the project in the Versioner (it complains about a missing Roassal name).
What is the correct way to add these dependencies cleanly?
First of all I want to highlight that if configuration is in class ConfigurationOf<proj-name> you can load it as using #configuration message:
Gofer new
smalltalkhubUser: 'Moose' project: 'Glamour';
configuration;
load.
(Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault.
A I don't see your project, I can just suggest you to write configuration by hand. There is an easy tutorial called Dead simple intro to Metacello.
According to your description it should be something like:
baseline01: spec
<version: '0.1'>
spec for: #common do: [
spec blessing: #release.
spec repository: 'your repo url'.
spec
package: 'YourPackage' with: [
spec requires: #('Glamour' 'Roassal' 'XMLSupport') ].
"also maybe you have a couple of packages that depend on different projects"
spec project: 'Glamour' with: [
spec
className: 'ConfigurationOf Glamour';
repository: 'http://smalltalkhub.com/mc/Moose/Glamour/main';
version: #'2.6-snapshot' ].
spec project: 'Roassal' with: [
spec
className: 'ConfigurationOfRoassal';
repository: 'http://smalltalkhub.com/mc/ObjectProfile/Roassal/main';
version: #'1.430' ].
"and same for XMLSupport" ].
Also you can try to load #development versions, as I have an impression that projects like Roassal and Glamour have very outdated stable versions. Also please note that Roassal2 is actively developed and will replace original Roassal in Moose platform, maybe you want to consider using it.
I would seriously discourage writing configs by hand - that is the assembly code of Metacello ;) Unless you are working on cross-Smalltalk-platform projects with platform-specific code (e.g. code for Pharo 1.4 vs Squeak 4.5) - an area which hasn't been explored yet, Versionner is the tool for you. I have written dozens of configs with it and have yet to run into a roadblock.
When you say you added them as dependencies, did you just add them as projects in the "Dependent projects" pane?
If so, you also have to specify which of your project's packages depend on them. To do this, you select the relevant package of your project on the "Packages" pane.
Now, click on the edit button with the pencil icon that just became enabled. In the dialog that appears, click the green + button and add the external projects of interest.
It looks like you are trying this in an old version of Pharo?
Roassal has been superseded by Roassal2, and the support for XML is on smalltalkhub, split into ConfigurationOfXMLWriter and ConfigurationOfXMLParser, both in PharoExtras.
If you load the right groups from Glamour you don't need to describe the dependencies on Roassal, as Glamour already depends on Roassal(2). That explains your cyclic dependency.
You have also run into the problem we've recently talk about on the pharo mailing lists
that #stable is not a usable symbolic version name. In the Seaside/Magritte/Grease projects we've changed to using #'release3.1' style symbolic version names. That ensures that there is less of a ripple effect when progressing stable.
Snapshot versions should never be a dependency, they just describe what is loaded at the moment, and are basically not upgradable.
[edit]
Metacello by default tries to be smart about not installing older versions over newer. This works pretty well as long as things are not moved to different packages. So it's a bit of bad luck there that you ended up with a non-working combination.
Metacello support complex workflows, and different smalltalk projects (need to) use different workflows. It often takes some time to reach consensus on the best way to do things.
Roassal does not depend on Glamour, but you can create the cycle in your own configuration :)
Packages were moved from squeaksource to ss3 and smalltalkhub because the server had had stability problems. More recently, those problems seem to have been fixed. The xml support was split as it was noted that a lot of applications actually don't need both writing and reading of xml.
Once you have a working configuration, it might be a good idea to build and test it on the continuous integration server of pharo: http://ci.inria.fr/pharo-contribution
If not your actually application, at least the open source parts as used by you. That way the Pharo, Glamour & Roassal teams can know if a change they make breaks something.

Web Essentials v2.8 LESS import error

For better organization, I have a main .less file that imports other .less files using the #import syntax. In order for the Web Essentials Preview window to work I also have #import-once at the top of each .less file that imports the variables.less file.
This solution worked wonderfully until I upgraded to Web Essentials 2.8. Now I'm unable to import any .less file that has #import or #import-once declared in it. My main .less file no longer compiles.
If I remove the #import-once statements, the preview window is useless since I can't see the compiled CSS without importing my variables file.
I also had a case where I imported a .less file into a ruleset, as defined by lesscss.org in the Importing into ruleset section. This also no longer works since the upgrade to v2.8.
Has anyone else experienced these issues or have a resolution?
Thanks
This seems to be a bug -> Feature in the latest version of the WebEssentials because of a new feature in Less 1.4.0. as Anwar describes. See the changelog of Less:
1.4.0 Beta 1 & 2 (2013-03-07)
default behaviour of import is to import each file once. #import-once has been removed.
Either
Update your files to use the new syntax (remove the -once from your imports)
Or
To use the older version of the engine, download the previous (2.7) version and don't update until you know it has been fixed.
Or
Or you can configure your Visual Studio to look at the Nightly Build feed from Web Essentials to download the very latest version (caution, nightly builds may contain other bugs or stop working from time to time). TO do so go to Tools -> Options -> Extensions & Updates and add the feed: http://vswebessentials.com/nightly/feed.ashx
Which seems to add a workaround that makes it work with the old syntax as well.
In Less v1.4.0 #import-once has been removed and #import imports once by default. This means that with the following
#import “file.less”; #import “file.less”;
The second file is ignored.
I think that one is causing issue with import statements.

Chrome extension manifest 2 and 1, compatibility

I have an extension that I recently upgraded to manifest version 2. To do this I removed the background_page property in the manifest file and replaced it with background: {page: "background.html"}. This works and everything is fine. Turns out, however, that there are browsers and people out there with old versions of Chrome, or versions of Rockmelt and other Chromium-based browsers that don't support the background-property, or the manifest_version: 2 yet.
A simple solution would be to just add the background_page: "background.html"-property to the manifest file, in addition to the background-property. This gives the warning in chrome://extension developer mode:
There were warnings when trying to install this extension:
'background_page' requires manifest version of 1 or lower.
My question is: can having both have any negative impact? For example, what will happen when background_page is deprecated? Will my users see any warnings? Any ideas?
You should replace "background_page" with "background".
Like:
"background": "background.html"
Rather than:
"background": {"page": "background.html"}
Even thought having undocumented, deprecated or experimental attributes in manifest.json gives warnings, these warnings are only visible with "Developer mode" active. They don't affect end-user. In my option you are perfectly fine keeping background-page: in your manifest.
You can also consider using minimum_chrome_version to block users with older browsers from downloading your latest update. It's a bit too late for that (since your manifest_vesion: 2 update is published) but you can do a small trick here. Downgrade to manifest_version: 1, wait for everyone to download downgraded version and, yet again, push update with manifest_version: 2 this time adding minimum_chrome_version: 18.

TurboPower Abbrevia in C++Builder2009

I want install TurboPower Abbrevia 3.05 from http://sourceforge.net/projects/tpabbrevia/ but its not working. :(
docu says:
_4. Open & compile the runtime package specific to the IDE being
used (e.g. B305vr2007.dpk for Delphi2007)
Start C++Builder2009 -> "Open Project..", select "B305vr2009.dpk" and click "open", but nothing happen. What is my mistake?
It's nice to see that someone is finally working on Abbrevia again, but looking at the Abbrevia web site I see that it still doesn't support modern versions of C++Builder. A few years ago I need to create Zips in an application and I found out that Abbrevia wouldn't work for me anymore. So, I compiled and linked in the Zip library from Info-ZIP, which worked very well. I didn't have much trouble adapting it to C++Builder as I recall, and it's still working fine today.
Info-ZIP's library only works with Zip files (no 7zip, etc.) but that's all we need here.
If you don't have RAD Studio, and only have C++Builder, you'll have to build it via the command line:
dcc32 -JL B305vr2009.dpk
You can then import the .bpl file generated from the Component->Import Component menu.
Abbrevia 3.05 didn't have C++Builder packages. The current release (5.0) supports C++Builder 2009-XE2 and has native .cbproj packages for it.

Resources